私は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. PerlのSonarに相当するものはありますか?
- 3. AjaxMinTaskのコマンドラインパラメータに相当するものはありますか?
- 4. Tomcatのmod_statusに相当するものはありますか?
- 5. PHPのサブプロセスに相当するものはありますか?
- 6. SQL Server:strpos()に相当するものはありますか?
- 7. Git:hgストリップに相当するものはありますか?
- 8. Java用ソースアウトライナーに相当するものはありますか?
- 9. C#:JTableに相当するものはありますか?
- 10. SQLスクリプト - #defineに相当するものはありますか?
- 11. NullPointerExceptionのC++に相当するものがありますか?
- 12. JavaにTweenMax相当のものがありますか?
- 13. JavaのC++からgetch()に相当するものはありますか?
- 14. ErlangにはHLintに相当するものはありますか?
- 15. PythonにはRakeに相当するものはありますか?
- 16. Goには、このJS式に相当するものがありますか?
- 17. には、クライアントのEndpointInterceptorAdapterに相当するものがありますか?
- 18. NunitのAssert.Thatに相当するものはXunitにありますか?
- 19. Cの#includeに相当するものはOctaveにありますか?
- 20. MatlabのRのdput()に相当するものはありますか?
- 21. アンドロイド用のiOSのidentifierForVendorに相当するものはありますか?
- 22. JavaのガラスパネルのAndroidに相当するものはありますか?
- 23. javascript用のdbugに相当するものはありますか?
- 24. PHPと.NETのデータセットに相当するものはありますか?
- 25. Ruby DataMapper:Java Hibernateのコンポーネントマッピングに相当するものはありますか?
- 26. ASP.Net MVCフレームワークのモノレールビューコンポーネントに相当するものはありますか?
- 27. Data.TextのShow typeclassに相当するものはありますか?
- 28. PHPのEclipse IDE Javaに相当するものはありますか?
- 29. QtフレームワークのSwing CardLayoutに相当するものはありますか?
- 30. AndroidネイティブレイアウトのDOMインスペクタに相当するものはありますか?
は、私は、Linuxへの参照を削除しました。 –