例如,如果我们有函数A,是否可以告诉编译器,您需要在代码的这一点内联此函数,但不这样做(make a打电话给它)。只能用某些调用内联函数是否可能
0
A
回答
4
你不能有选择地告诉编译器内联一些调用,至少不能移植。
请注意,inline
只是对编译器的一个建议,编译器可能会也可能不会遵从将内联函数的主体内联到调用点的建议,但编译器会放宽像One定义规则这样的一些条件对于这样的功能。
0
我觉得要求不是非常有用,并且回答你的问题是:第
但是,您可以通过使用宏实现类似的意思:
#define f_inline do { int i = 1 + 2; } while(0)
void f() {
f_inline;
}
您现在可以如果您想要强制f
的代码在线应用,请使用f_inline;
。
1
gcc
具有属性noinline
和always_inline
。
0
这并不特别重要内联函数是否你调用的。见What does __inline__ mean ?。我只需编写非内联函数,并让编译器决定如何以最佳方式内联它。
0
如果编译器无条件荣誉您使用或不使用inline
关键字,或者如果您使用的是gcc扩展__attribute__((__always_inline__))
和__attribute__(__noinline__))
,那么你可以达到你想要的东西用一个简单的包装功能:
static inline int foo_inline(int a, int b)
{
/* ... */
}
static int foo_noninline(int a, int b)
{
return foo_inline(a, b);
}
我用inline
关键字编写了它,但由于编译器通常只会将它视为提示,甚至忽略它,所以您可能需要gcc属性版本。
相关问题
- 1. 只能调用一次的大函数是内联的吗?
- 2. 是否有可能使用jQuery Mobile仅用于“某些”功能?
- 3. 是否有可能使某些函数用于创建调用程序不可用的库?
- 4. 是否有可能在构造函数中调用函数? PHP
- 5. 是否有可能只建立某些模型?
- 6. 是否有可能只有某些实体的ComputedProperty?
- 7. 有可能在某处调用自调用函数方法吗?
- 8. 是否有可能使用猪内置函数内置java udf
- 9. 是否有可能只在Perl中调用子程序调用?
- 10. 是否有可能在C++中禁止在编译时调用某个函数?
- 11. 是否有可能只给某些文件夹访问应用程序?
- 12. 是否有可能某些网络数据包是空字节?
- 13. 不能从同级内调用函数,但否则可以?
- 14. 某些java处理函数只有当结果可用时才能获取url.openStream()
- 15. 在使用python调用函数之前,是否可以使某个函数的某些部分运行?
- 16. 在函数内调用require时是否会影响性能?
- 17. 可以HotSpot内联lambda函数调用?
- 18. 是否可以重写内联函数?
- 19. 是否可以预测SWF可能调用哪些事件?
- 20. 只能从某些行
- 21. 是否有可能从Scala调用Python函数(spark)
- 22. 是否有可能通过setTimeout调用自定义函数Node.js
- 23. 是否有可能从不同的线程调用JS函数?
- 24. 是否有可能从aiml调用Java函数?
- 25. 是否有可能在变量上调用jquery函数?
- 26. 是否有可能从Silverlight/C#中调用matlab函数?
- 27. 是否有可能从SQL中调用sqlite3_limit()函数
- 28. 是否有可能从基类调用派生类函数
- 29. 是否有可能只用相机
- 30. 我怎样才能调用&填充函数2d参数内联?