• 締切
  • 暇なときにでも

32ビットのプログラミングで・・・"undefined reference to __main"ってなに?

  • 質問No.2115654
  • 閲覧数430
  • ありがとう数1
  • 回答数2

お礼率 26% (7/26)

gccを使って32ビットのプログラムをしています。
main.cとsu.asmでできたプログラムをくっつけてます
su.asmはスタートアップルーチンでそっからmain.cの
中のmain()を呼び出してます。すると・・・

C:\JO>make
gcc -fno-builtin -nostdlib -ffreestanding -nostartfiles -nodefaultlibs -march=i486 -c main.c
nasm -f win32 su.asm -o su.o -l su.lst
ld -o os.obj -Map mapfile.txt -T ld.scr su.o main.o
main.o(.text+0x21):main.c: undefined reference to `_alloca'
main.o(.text+0x26):main.c: undefined reference to `__main'
make: *** [os.obj] Error 1

回答 (全2件)

  • 回答No.2

ベストアンサー率 30% (524/1722)

質問文はcopy&pasteですか?目で見て打ち込まれましたか?
__mainのほうで,アンダーラインが2文字連続で出てるのがちょっと引っかかります.本当にアンダーライン2個の __mainがエラーメッセージに出てるのだとすると,
main.cのなかで _mainを参照している.コンパイルの結果それは__mainに変換(先頭のアンダーラインを追加)され,どこにもそれが定義されていないのでエラーになっている.と想像されます.
  • 回答No.1
読んだままの意味で「参照しているラベル`__main'が未定義です」の意味ですね。
お礼コメント
ttr133

お礼率 26% (7/26)

ありがとうございます。
投稿日時:2006/06/06 16:11
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ