gcc / g ++ 中的__declspec( naked )
相当于什么? __declspec( naked )
实际上用于声明一个没有任何结语和序言的函数。
答案 0 :(得分:9)
在某些架构上,gcc支持一个名为“naked”的属性;最新的gcc docs我给出了这个架构列表:ARM,AVR,MCORE,RX和SPU。
如果您正在使用其中一种架构(如果您尝试使用它并且不支持gcc会给您一个警告),该属性可以像这样使用:
__attribute__ ((naked)) int fun ()
{
}
[最近在gcc开发人员列表上进行了一些讨论,关于添加“naked”属性作为更一般的功能,并尝试在更多架构上支持它,但显然这对你没有帮助:)。
答案 1 :(得分:0)
我认为在Linux下最近的GCC没有这样的等价物。编译器在适当的时候发出序言和结尾,你应该把它做出决定。将序言或结语很小,甚至有时甚至不存在都可能相当不错。
您可以在程序集中编写函数代码。或者你可以把asm语句放在你的函数中。
你没有告诉你为什么要那样做。你的目标是什么,为什么要问你呢?