- Промокоды
- Тир-лист персонажей
- Баннеры 1.2
- Тир-лист банбу
- Инспектор Мяучело
- Памятные монеты АИК
- Пропавшие мини-грузовики
- Все скрытые квесты
- Все достижения
- Все арты c6 персонажей
- Как повысить уровень доверия агентов?
- Клякса: как приручить?
- Видеопрокат и все видеокассеты
- Отдыхающая домохозяйка: фильм
- Ностальгирующая девушка: фильм
- Влюбленная девушка: фильм
- Квест Клуб загадочников 1 и 2
- Квест Отмотай назад, детектив
- Квест Заметание секретов
- Квест Пропавшая картина
- Квест Бескрайняя бездна
- Квест Пророчество
- Квест Лимб банбу
- Все гайды
- Испытания Мерлина
- Хранилища сокровищ
- Луны мистера Муна
- Хитроумные ключи
- Головоломки Иродианы
- Квест «Призрак нашей любви»
- Квест «Колодец, колодец»
- Квест «Сокровища из проклятой гробницы»
- Квест «Гиппогриф вам укажет путь»
- Квест «Словно по звонку»
- Непростительные заклинания
- Все легендарные сундуки
- Все животные и твари
- Все метлы
- Все концовки
- Все гайды
- Башня Рамазита и колдовской погреб
- Вызов Шар — все испытания и Копье Ночи
- Логово Ансура — все чертоги и дракон
- Литейная стальной стражи — как спасти гондийцев
- Обыскать подвал — как открыть Некромантию Тхая
- Разрушенная башня — как запустить лифт
- Адамантиновая кузня — все формы и мифриловая руда
- Завершить оружейный шедевр — кора суссура
- Тетушка Этель — как спасти Майрину
- Яйцо гитьянки — как украсть и можно ли вырастить
- Мистический Падальщик — где найти слугу
- Найти клоуна Каплю — все части тела
- Как победить Геррингот Торм?
- Где найти Кровь Латандера?
- Где найти Песню Ночи?
- Все гайды
- Промокоды Honkai Star Rail
- Все сундуки Золотого мига в Honkai Star Rail
- Похвала высокой морали в Honkai Star Rail
- Все сундуки в Лофу Сяньчжоу из Honkai Star Rail
- Первооткрыватель в Honkai Star Rail
- Все сундуки Сада безмятежности в Honkai Star Rail
- Беглецы в Доме кандалов
- Заказ прокси
- Дом кандалов: сундуки и робоптахи
- Гексанексус: Remake в ХСР
Работа с компилятором GCC в командной строке.Урок 2.
Цель
Изучить структуру программ, исходный текст которых состоит из двух и более файлов. Приобрести практические навыки компиляции такой программы при помощи компилятора GCC в командной строке. Научится разбивать программу на несколько файлов с исходным текстом и использовать функции, объявленные в других файлах.
Исходные данные
• n количество кругов, прямоугольников и m количество точек.
• Опции компилятора: -lm, -c, -o,-s.
Используемые строки для компиляции
• Создание объектного файла:
GCC –с main.c –o main.o
GCC –с rnd.c –o rnd.o
GCC –с geo.c –o geo.o
• Cоздание исполнимого файла:
GCC main.o rnd.o geo.o -s -o neomain.exe -lm
Пример попадания точек в круг и квадрат + график
Вывод:
В итоге проделанной работы можно понять, как состоит структура файла и как в итоге из нескольких файлов с помощью компилятора gcc через командную строку можно создать один исполняемый файл.
Исходный текст программы
GEO.c
int tochka_v_kruge(float x, float y,float x0,float y0,float r)
{
if(((x-x0)*(x-x0))+((y-y0)*(y-y0))<=r*r)
{
return 1;
}
else
{
return 0;
}
}
int tochka_v_kvadrate(float x, float y, float x0, float y0, float x2, float y2)
{
if((x2
x)) {
return 0;
}
if((y2
y)) {
return 0;
}
return 1;
}
RND.c
#include
#include
#include
float rnd(float a, float b)
{
srand(time(NULL));
float x=(float)rand() / (float) RAND_MAX;
return (x*(b-a))+a;
}
MAIN.c
#include
#include
#include
#include "geo.h"
#include "rnd.h"
//using namespace std;
main()
{
srand(time(NULL));
int I = 0;
float x = rnd(0,5);
float y = rnd(0,5);
float r = rnd(0,5);
printf("krug x = %f, y = %f, r = %f", x, y, r);
for (I = 0; I < 3; I++)
{
float x0 = rnd(0,5);
float y0 = rnd(0,5);
if(tochka_v_kruge(x, y, x0, y0, r) == 1)
{
printf("tochka x = %f, y = %f vxodit v krug", x0, y0);
}
else
{
printf("tochka x = %f, y = %f nevxodit v krug", x0, y0);
}
}
x = rnd(0,5);
y = rnd(0,5);
float x2 = x + rnd(0,5);
float y2 = y - rnd(0,5);
printf("pramoygol'nik x = %f, y = %f, x2 = %f, РЅ2 = %f", x, y, x2, y2);
for (I = 0; I < 3; I++)
{
float x0 = rnd(0,5);
float y0 = rnd(0,5);
if( tochka_v_kvadrate(x, y, x0, y0, x2, y2))
{
printf("tochka x = %f, y = %f vxodit v pramoygol'nik", x0, y0);
}
else
{
printf("tochka x = %f, y = %f nevxodit v pramoygol'nik", x0, y0);
}
}
getchar();
}
GEO.h
extern int tochka_v_kruge(float x, float y,float x0,float y0,float r);
extern int tochka_v_kvadrate(float x, float y, float x0, float y0, float x2, float y2);
RND.h
extern float rnd(float a, float b);