__declspec(naked)
と同等のものはgcc/g ++になりますか? __declspec(naked)
は実際にはエピローグとプロローグなしで関数を宣言するために使用されます。gcc/g ++の__declspec(naked)に相当する
答えて
最近のGCCでは、Linuxの下でこのようなことはないと思います。コンパイラは必要に応じてプロローグとエピローグを発行します。それは、プロローグまたはエピローグを非常に小さくすること、または存在しないことさえすることを非常によくするかもしれない。
アセンブリで関数をコーディングすることができます。あるいは、関数内にasm文を置くこともできます。
あなたはなぜそれをしたいのか分からなかった。あなたの目標は何ですか、そしてなぜあなたは正確に尋ねていますか?
あなたは間違っています、私は一度このようなことをしていましたが、今覚えていません。 – MetallicPriest
GCCでやったことはありますか? SigTermが参照しているページは、私が言ったことに従っています.GCCとLinux(x86またはAMD64ターゲットマシン)でプロローグやエピローグを使用したくない場合は、asmを使用してください。 –
実際には、(エンベデッド)アーキテクチャの場合にのみ、コメントにあなた自身を含めるように、存在します。 – ninjalj
一部のアーキテクチャでは、gccは "naked"という属性をサポートしています。最新のgcc docs私はこのアーキテクチャのリストを提供しています:ARM、AVR、MCORE、RX、SPUあなたがそれらのアーキテクチャの1(あなたがそれを使用しようとgccはあなたに警告を与えるだろうし、それがサポートされていません)を使用している場合
、属性は次のように使用することができます:
__attribute__ ((naked)) int fun()
{
}
[最近、gccの開発者のリストで、より一般的な機能として "裸の"属性を追加し、それをより多くのアーキテクチャでサポートしようとする議論がありましたが、明らかにそれはあなたを助けません:)]
- 1. Visual Studioの__declspec(novtable)に相当するg ++がありますか?
- 2. __declspec(naked)のg ++対応のパラメータ渡しはどのように機能しますか?
- 3. heroku godaddy naked domain
- 4. Heroku Naked SSLカスタムドメイン
- 5. Perlの$に相当する$ _
- 6. INET_NTOAとINET_ATONに相当するPHP相当額
- 7. .NETに相当するjava.awt.color.ColorSpace
- 8. Pythonに相当するPropertyUtilsBean
- 9. PowerThellに相当するSignTool.exe
- 10. カールC#に相当する
- 11. omp_get_thread_numに相当するグランドセントラルディスパッチ
- 12. イメージレンダリングDOMに相当する
- 13. '__builtin_return_address'に相当するMSVC
- 14. grepに相当するstringr
- 15. HTML5コンテキストメニューに相当する
- 16. R ++に相当するC++
- 17. PrintWriterに相当するSystem.setOut()
- 18. jQueryに相当するプロトタイプ
- 19. XDialogに相当するクロスプラットフォーム
- 20. IntelliJに相当するWindowBuilder?
- 21. "Not MyEnum.SomeValue"に相当する#
- 22. Html.Actionに相当するSDK
- 23. C++に相当する。cin.peek()
- 24. Visioに相当する3D
- 25. ManualResetEventに相当するBoost?
- 26. QFormQuay2に相当するQFormLayout?
- 27. API17に相当するScriptIntrinsicBLAS
- 28. Javaに相当するSystem.Xml.XmlNode.InnerXml
- 29. Jstackに相当するPython?
- 30. Pyspark Pyodbcに相当する?
http://gynvael.coldwind.pl/?id=15 – SigTerm
@SigTerm私はそのリンクを投稿しようとしていました。それはすっきりしたハックです。 – AusCBloke