Есть ответ 👍

Довольно глупый вопрос. предположим я mprog.cpp и там обращаюсь к функции через имеющийся prog.h (#include "prog.h"), сама функция лежит в prog.cpp. выходит примерно вот что: ================prog.cpp============== #include "prog.h" int prog (int num) { /* */ } =========prog.h========== #ifndef prog #define prog int prog (int); #endif =======mprog.cpp===== #include #include "prog.h" int main () { int nfga; prog (nfga); return 0; } я так понимаю, ошибок нет и они связаны. как теперь это запустить?

265
290
Посмотреть ответы 2

Ответы на вопрос:


Какую операционную систему используешь? если linux то: 1) g++ -c mprog.cpp -o mprog.o (-o "output" - файл вывода,  -c означает "только компиляция", т.е. не связывать твой файл со сторонними билиотеками типа libc, получим просто файл с машинными особо ни к чему не привязанный ".o" - object file, если особо интересно, что же там лежит, можно вызвать "objdump -d mprog.o" либо g++ -s -masm=intel -o0 mprog.cpp, вывод будет в mprog.s) 2) g++ -c prog.cpp -o prog.o (то же самое) 3) g++ prog.o mprog.o -o prog (выполняем связывание двух обектных файлов между собой и со стандартными библиотеками, опять же новое содержимое можно посмотреть  "objdump -d mprog") 4) ./prog - запустить твою программу и передать в начало функции main (и не важно, в каком файле она лежала, главное, чтобы была одна, хотя иначе шаг 3 выдаст ошибку) если винда, то запусти поиск по диску с "mingw32-g++.exe" и через командную строку вызывай для него 1) -g++.exe  -c mprog.cpp -o mprog.o 2)  -g++.exe  -c prog.cpp -o prog.o 3)  -g++.exe  prog.o mprog.o -o prog.exe  4) prog.exe
Maaaarrr
4,6(100 оценок)

Const       n = 30; type       array100 = array [1..100] of integer; var       a: array100;       i, t: integer;       f: boolean; procedure printarray(var a: array100); var       i: integer; begin       for i : = 1 to n do               write(a[i]: 3, ' ');       writeln; end; begin       randomize;       for i : = 1 to n do               a[i] : = random(99) - 50;                     printarray(a);             repeat               f : = true;               for i : = 1 to n - 1 do                       if (a[i] < 0) and (a[i + 1] > = 0) then begin                               f : = false;                               t : = a[i];                               a[i] : = a[i + 1];                               a[i + 1] : = t;                       end;       until f;       printarray(a);             readln; end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS