我正在嘗試使用GCC編譯優化來在我的C代碼中設置全局優化。 Ubuntu上的GCC版本是4.4.3。基本思想是使用功能特定的優化級別。使用#pragma G代碼優化的C代碼優化
#pragma GCC optimize ("O3")
我得到一個編譯錯誤 只是我在我的C代碼main函數之前
但是,當我建立它,我得到的編譯錯誤如下 -
passrecovery.c: In function âmainâ:
passrecovery.c:493: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make: *** [all] Error 1
我檢查的自述.Bugs文件,在錯誤中提到,但沒有發現關於此的線索。
是否支持4.4.3 GCC或#pragma optimize
?
如果是的話,那麼我在使用這個編譯指示來優化代碼時做得不正確。
任何其他替代GCC指令用於優化速度代碼?
編輯:我甚至嘗試#pragma GCC push_options
然後#pragma GCC optimize ("O3")
和文件#pragma GCC pop_options
結束;同樣的錯誤。
僅供參考我試圖在main()上使用這個優化指令。這似乎是問題所在。這個指令工作正常(Atleast編譯正常),如果在其他函數上使用(除了main) – goldenmean
@想要更多的眼球檢查導致這個的代碼。只有這個代碼使用的庫是-lcrypt(crypt.h),string.h,stdio.h,stdlib.h,ctype.h。 – goldenmean
@goldenmean:建議嘗試刪除「」以及首先依賴它的內容......第二。你應該看看前490行的內容,看看哪些可以批量刪除,同時保持崩潰。您可以先使用評論,然後刪除它們。有可能無法移動任何代碼行。但這不太可能。每一行刪除都是有益的。你的程序沒有使用你自己的頭文件可以簡化生活。 –