[英]Functions not being inlined with g++
我正在編譯下一個簡單的示例:
#include <iostream>
struct PP
{
inline void wInline();
}
inline void PP::wInline()
{
std::cout << "hola" << endl;
}
int main()
{
PP pp;
pp.wInline();
return 0;
}
通過這種方式:
g++ -O0 -finline-functions -finline-functions-called-once
-finline-small-functions -Wall -Wextra -pedantic -std=c++11 -Winline
main.cpp
與gcc 4.8.2和wInline不被內聯。
-finline-functions,-finline-functions(稱為一次)和-finline-small-functions標志是否足夠? 為什么即使啟用-Winline標志也沒有警告?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.