[英]Can you do all gcc optimizations (-O2, -O3) manually in your c source code?
在我的類項目中,我的項目設置為使用gcc的優化級別-O0(無優化),我們不允許在最終提交時更改它。
我使用-O2測試了我的代碼,並獲得了整個程序的2倍加速。 所以我想知道,是否有可能完成-O2所做的每個優化,並在我的代碼中手動執行這些優化? 或者是堆棧,框架,機器/程序集等內部的一些-O2優化,因此不允許程序員在我的源代碼中手動進行那些優化(如果這樣做有意義的話)
是否可以通過-O2執行的每個優化,並在我的代碼中手動執行這些優化?
否。編譯器執行的許多優化都不能用C表示。其中一些包括:
這並不是說編譯器執行的所有優化都是不可翻譯的 - 當然 - 僅僅是其中一些優化。
是的,但這與在Minecraft中構建自己的8086級微處理器相同 - 不值得花時間和精力。 是的,這些優化中的許多涉及低於抽象語言級別的東西。 你的教授可能不知道你想要一個未經優化的可執行文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.