以下の二つのソースファイルを分割コンパイルしたいのですが、どうすればいいいでしょうか?
また、GASにおける.externの使い方は正しいのでしょうか?
プログラムの詳細:ソースコード1においてソースコード2のkeisanという関数を呼び出して、実行したいです。
望む実行結果は8と標準出力されることです。
回答よろしくお願いします。
gas
1.extern keisan 2.text 3.globl _main 4_main: 5pushl $ebp 6movl %esp, %ebp 7call keisan 8addl %0x30, %eax 9puhsl %eax 10call _putchar 11leave 12ret 13
gas
1.text 2keisan: 3pushl %ebp 4movl %esp, %ebp 5movl $5, %eax 6movl $3, %ecx 7addl %ecx, %eax 8leave 9ret
実行のために使用したコマンド(環境はcygwin)
$gcc -c test.s
$gcc -c main.s
$gcc -o program test.o main.o
main.o:fake:(.text+0x4): 'keisan'に対する定義されていない参照です
collect2: エラー:ldはステータス1で終了しています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/01 06:40