私はCコンパイルをもう少し深く理解しようとしていますので、私はコンパイルして "手動で"リンクしています。最小限のCプログラムで "main"への未定義の参照
gcc -S main.c
as main.s -o main.o
ld main.o
とリンクしようとすると、私が手::ここに私のコード
int main()
{
return 0;
}
そして、ここでは、私は私のコンソール(Windowsの場合)に入れている何です
main.o:main.c:(text+0x7): undefined reference to `__main'
'gcc -v main.c'を実行して、コンパイラが実際に実行するコマンドを確認します。 'ld'はコマンドラインよりもはるかに複雑なコマンドラインを実行します。 –
GCCの極端に長い 'ld'引数は必ずしも必須ではありません。シンプルな 'Hello、world'プログラムは' ld -lc -lkernel32 src.o -o src.exe'とだけ完全にリンクできます。 –
@RyanB「llcが見つかりません」というメッセージが表示されます。 –