__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. Perlの$に相当する$ _
- 5. INET_NTOAとINET_ATONに相当するPHP相当額
- 6. Jythonに相当するIronClad
- 7. Visioに相当する3D
- 8. omp_get_thread_numに相当するグランドセントラルディスパッチ
- 9. ManualResetEventに相当するBoost?
- 10. イメージレンダリングDOMに相当する
- 11. 'pat2cwav'に相当するPython
- 12. javacに相当する「-D」?
- 13. VBA:GoalSeek C#に相当する
- 14. clipsToBoundsに相当するスプライトキット:
- 15. MethodBase.GetCurrentMethodに相当するポータブルクラスライブラリ
- 16. OSXに相当するShellExecute?
- 17. XDialogに相当するクロスプラットフォーム
- 18. find2perlに相当するPython
- 19. Spring RestTemplateに相当する
- 20. XmlAttributes.XmlIgnore XAMLに相当する
- 21. Jstackに相当するPython?
- 22. DataContractsに相当するXmlTextAttribute
- 23. shuaに相当するLua?
- 24. PyGtkに相当するgdk_window_ensure_native?
- 25. "Not MyEnum.SomeValue"に相当する#
- 26. Rubyに相当するPython "_"
- 27. $( 'body')に相当するJavascript
- 28. Django ORMに相当する
- 29. Pythonに相当するPropertyUtilsBean
- 30. Javaに相当するSystem.Xml.XmlNode.InnerXml
http://gynvael.coldwind.pl/?id=15 – SigTerm
@SigTerm私はそのリンクを投稿しようとしていました。それはすっきりしたハックです。 – AusCBloke