Предмет: Информатика,
автор: Abst
Довольно глупый вопрос. Предположим я создаю 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 <iostream>
#include "prog.h"
int main () {
int nFGA;
prog (nFGA);
return 0;
}
Я так понимаю, ошибок нет и они связаны. Как теперь это запустить?
Ответы
Автор ответа:
0
Какую операционную систему используешь? если 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) ...путь...mingw32-g++.exe -c mprog.cpp -o mprog.o
2) ...путь...mingw32-g++.exe -c prog.cpp -o prog.o
3) ...путь...mingw32-g++.exe prog.o mprog.o -o prog.exe
4) prog.exe
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) ...путь...mingw32-g++.exe -c mprog.cpp -o mprog.o
2) ...путь...mingw32-g++.exe -c prog.cpp -o prog.o
3) ...путь...mingw32-g++.exe prog.o mprog.o -o prog.exe
4) prog.exe
Похожие вопросы
Предмет: История,
автор: shebel
Предмет: Физика,
автор: uliakitsera
Предмет: Другие предметы,
автор: Аноним
Предмет: Математика,
автор: tanya509
Предмет: Экономика,
автор: kapyrina99