簡體   English   中英

如何打印 GCC 優化選項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM