私はGCCを使って自分のカーネルで作業していますが、asmコードからC関数を呼び出すときには自分でadd esp,xx
を実行しなければなりません。いくつかの検索の後、私はstdcall
がMicrosoftの発明であり、GCCでそれを使用することができないことを発見しました。この作業を行う便利な方法はありますか?GCCのstdcallに相当するものはありますか?
9
A
答えて
5
Linuxでstdcallに相当するものはありますか?
Linux環境での私のカーネル
待って、これは自分自身のカーネル、またはLinuxカーネルのですか?自分のカーネルであれば、Linuxではないからです。
Linuxで作業している場合は、通常の呼び出し規約に従い、一致するようにアセンブリを書きたいと思うでしょう。
自分のカーネルで作業している場合は、何でもできます。 GCCとクランIX86プロセッサの両方をサポート
stdcall
呼び出し規約、例えば、#define stdcall __attribute__((stdcall))
を参照してください:あなたはそれはあなた自身のカーネルだと述べているのでFunction Attributes (GCC manual)
+0
ありがとう!私は自分のカーネルをgccでコンパイルしています。誰かがlinux gccにstdcallがないと言っています。しかし、それはあなたのコードでうまくいきます! – babel92
関連する問題
- 1. GCCの '-include'フラグに相当するMSVCはありますか?
- 2. PHPのサブプロセスに相当するものはありますか?
- 3. Tomcatのmod_statusに相当するものはありますか?
- 4. AjaxMinTaskのコマンドラインパラメータに相当するものはありますか?
- 5. PerlのSonarに相当するものはありますか?
- 6. タイムスタンプのLAST_INSERT_IDに相当するものはありますか?
- 7. Java用ソースアウトライナーに相当するものはありますか?
- 8. Git:hgストリップに相当するものはありますか?
- 9. C#:JTableに相当するものはありますか?
- 10. SQL Server:strpos()に相当するものはありますか?
- 11. gluScaleImage関数に相当するものはありますか?
- 12. SQLスクリプト - #defineに相当するものはありますか?
- 13. NullPointerExceptionのC++に相当するものがありますか?
- 14. PythonでNODE_ENVに相当するものがありますか?
- 15. JavaにTweenMax相当のものがありますか?
- 16. nodejsの 'module'からimport *に相当するものはありますか?
- 17. JavaのC++からgetch()に相当するものはありますか?
- 18. シェフにはpuppet_nistに相当するものはありますか?
- 19. PythonにはRakeに相当するものはありますか?
- 20. ErlangにはHLintに相当するものはありますか?
- 21. libGDXには、JavaFXのPathTransitionに相当するものがありますか?
- 22. NunitのAssert.Thatに相当するものはXunitにありますか?
- 23. Cの#includeに相当するものはOctaveにありますか?
- 24. Goには、このJS式に相当するものがありますか?
- 25. には、クライアントのEndpointInterceptorAdapterに相当するものがありますか?
- 26. アンドロイド用のiOSのidentifierForVendorに相当するものはありますか?
- 27. JavaのガラスパネルのAndroidに相当するものはありますか?
- 28. MatlabのRのdput()に相当するものはありますか?
- 29. Google Email Settings APIのHotmail/LIVEに相当するものはありますか?
- 30. javascript用のdbugに相当するものはありますか?
は、私は、Linuxへの参照を削除しました。 –