GCCについてU
複数のプログラムをコンパイルする。
通常のプログラミングでは、複数のファイルに分けてプログラミングする。
例
ファイル名 hello.c
#include <stdio.h>
#ifndef WORLD
# define WORLD "World"
#endif
int hello() {
return printf("Hellow "WORLD"!\n");
}
ファイル名 main.c
int hello();
int main() {
hello();
return 0;
}
それぞれのソースファイルを ”-c”オプションをつけてコンパイルする。
$gcc -c *.c
# ls -al
すると、hello.c と main.cのオブジェクトファイルが出来上がっているはず。(開発ツールがインストールされていれば)
オブジェクトファイルを指定して "-o"オプションを付けて実行ファイルを作成し、実行
$gcc *.o -o hello
$./hello
すると
Hello World! が表示されます。
実際には内部で "ld"と呼ばれるリンカを呼び出して、
オブジェクトを作成している。
今後この ldが問題になる事が多い。