[英]How to print the GCC optimization options?
我正在嘗試使用各種GCC 優化選項編譯我的測試程序,我希望在程序輸出中看到所有這些選項。 類似的東西(為這個問題發明了__cpp_optimizations
常量):
std::cout << __cpp_optimizations << std::endl;
有什么辦法嗎?
從已編譯的可執行文件中獲取編譯器選項? . 使用-frecord-gcc-switches
編譯,而不是從可執行文件中讀取命令行選項,使用偽代碼:
buf = popen(std::string() + "readelf -p .GCC.command.line /proc/self/exe").read()
// or read elf yourself instead of popen
// tokenize buf, get all compiler options
// filter out only optimization options
或者,您可以指示構建系統將該信息作為宏傳遞。 例如,在 CMake 中:
add_compile_options(-O3)
add_compile_definitions("CPP_OPTIMIZATIONS=\"-O3\"")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.