Cプロジェクトから呼び出されたアセンブリで関数を使用しようとしています。この関数はlibc関数を呼び出して、printf()
としましょうが、セグメンテーション・フォルトが発生し続けます。私は、関数の宣言がのが.ASMファイルでCアセンブリからの呼び出し関数
int do_shit_in_asm()
を言わせてい.cファイルで
は私が.extern printf
.section .data
printtext:
.ascii "test"
.section .text
.global do_shit_in_asm
.type do_shit_in_asm, @function
do_shit_in_asm:
pushl %ebp
movl %esp, %ebp
push printtext
call printf
movl %ebp, %esp
pop %ebp
ret
コメントをいただければ幸いですどれ
ポインタを持っています。アセンブリ言語関数を使い始めるための最良の方法の
as func.asm -o func.o
gcc prog.c func.o -o prog
+1ファンクション名 –
"すべてのポインタがわかります":int * ptr; – Sapph
@Sapph +1しかしそれは助けません:)) –