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が問題になる事が多い。

Next