有没有办法告诉编译器在它认为有用的地方内联?我认为默认情况下这样做了,但在我的游戏循环功能中添加一些内联功能可以将性能提高30%。
由于
答案 0 :(得分:3)
请注意,除非使用整个程序优化(/ GL),否则编译器不能在编译单元之间自动内联函数。
答案 1 :(得分:2)
如果您通过/Ob2
开关告诉它,Visual C ++将执行自动inline expansion(但仅当启用了优化时,例如/O2
)。
可能是这个被关闭了,或者编译器可能没有像你想要的那样具有攻击性。在后一种情况下,请使用inline
关键字(您已完成:D)。
答案 2 :(得分:1)
编译器通常会内联函数,如果它似乎可以提高性能,但是,如果你不启用优化(例如调试模式),它可能会避免这种情况。如果启用优化,它可能应该为您内联。