アセンブリ言語プログラムから呼び出すことができるように、GCC を使用して C 関数からアセンブリ言語関数を生成することは可能ですか? gcc が C をマシン コード (アセンブリ言語に簡単に逆アセンブルできる) にコンパイルすることは知っています。また、 C でアセンブリ言語関数をインライン化できることは既に知っていますが、アセンブリから C 関数を呼び出す方法はまだ見つかっていません。これは基本的にこれの逆です。
ここでは、x86 アセンブリ プログラムで C 関数をインライン化しようとしています。インライン化ができない場合、アセンブリ言語プログラムから C 関数を呼び出す他の方法はありますか?
.686p
.model flat,stdcall
.stack 2048
.data
.code
start:
invoke ExitProcess, 0
printSomething PROC ;now I'm attempting to inline a C function here
void printSomething(thingToPrint){
printf("This is a C function that I want to invoke from an assembly language program.");
printf("There must be some way to do this - is it possible somehow?");
}
printSomething ENDP
end start