executar um programa com mais de um arquivo fonte no compilador GNU c ++

Eu estou usando o compilador DEV GNU c ++ no Windows 7 OS. Eu preciso saber como um programa com mais de um arquivo de origem pode ser compilado. aqui está o exemplo

#FILE1 void f1() { printf("this is another file under same program"); } #FILE2 int main() { f1(); return 0; } 

Na verdade, preciso disso para testar como o especificador de class externo estático funciona com mais de um arquivo. Então, só tenho que aprender agora como funciona com mais de um arquivo em um único programa em C ..

Antecipadamente grato

O termo técnico para “vários arquivos” seria unidades de tradução :

 g++ file1.cpp file2.cpp -o program 

Ou você separa a compilation e a vinculação

 g++ -c file1.cpp -o file1.o g++ -c file2.cpp -o file2.o # linking g++ file1.o file2.o -o program 

Mas isso geralmente não faz sentido a menos que você tenha um projeto maior (por exemplo, com make ) e queira reduzir o tempo de construção.

A maneira mais simples é precisar os dois arquivos na linha de comando do gcc :

 gcc file1.c file2.c 

Para pré-processar e compilar como tal:

 gcc -c FILE1.c gcc -c FILE2.c 

Então, para vincular:

 gcc -o EXECUTABLE FILE1.obj FILE2.obj 

Como alternativa, você pode fazer as duas coisas em uma etapa:

 gcc -o EXECUTABLE FILE1.c FILE2.c 

Se for um programa C ++, substitua o gcc por g++ e o .c por .cpp .

Não lhe interessa, mas para o benefício de leitores semelhantes que encontrar sua pergunta mais tarde, FILE1.cpp pode ser nomeado FILE1.cc ou semelhantes e FILE1.obj pode ser nomeado FILE1.o , dependendo da plataforma do leitor.

Pode ser interessante que, dependendo do shell que você está usando, você tenha que escrever opções como -o as /o .