【发布时间】:2013-02-10 16:48:14
【问题描述】:
static inline int my_function() __attribute__((always_inline));
static inline int my_function()
{
//...
}
所以我已经像上面那样声明了我的函数,尽管在二进制文件中该函数被分支而不是内联,因此一个简单的 NOP 可以使整个函数变得无用。
如何强制 Xcode 4.6 内联函数?
【问题讨论】:
-
你不能强制 Xcode 内联函数,因为 Xcode 不会编译你的代码。也许您想要求编译器内联它,对吧?
-
是的,你是对的,我希望通过包括我正在使用的 IDE 回答的人会知道编译器和版本,他们可以建议将可能的构建设置标志输入到 Xcode 中。
-
告诉我们
my_function的定义。 -
@user1763532 酷。您确定您也将定义标记为
always_inline吗?编译器在遇到定义时会看到声明吗? -
我希望你没有用这样的接口声明你的函数:返回类型为
int并且从不返回任何内容,并且接收未指定数量的参数?但如果是这样,您应该首先修复它以帮助编译器知道在调用点放置什么,然后再查看。你编译时是否启用了所有优化?