私は GCC を使用して独自のカーネルに取り組んでおり、asm コードから C 関数を呼び出すときは、add esp,xx
自分で行う必要があります。いくつかの検索の後、これstdcall
は Microsoft の発明であり、GCC では使用できないことがわかりました。この作業を行う便利な方法はありますか?
質問する
8667 次
1 に答える
10
Linux に stdcall と同等のものはありますか?
Linux 環境での私のカーネル
待ってください、これはあなた自身のカーネルですか、それとも Linux カーネルですか? それが独自のカーネルである場合、それはもはや Linux ではないからです。
Linux で作業している場合は、通常の呼び出し規則に固執し、それに合わせてアセンブリを作成する必要があります。
独自のカーネルで作業している場合、やりたいことは何でもできます。GCC と Clang は両方とも
stdcall
、ix86 プロセッサでの呼び出し規約をサポートしています。#define stdcall __attribute__((stdcall))
于 2012-10-27T00:09:21.040 に答える