我想爲我的程序使用C++ 11標準和O3優化。 通常我只使用編譯標誌:-std=c++11
和-O3
,但我必須將源文件發送到自動編譯它的遠程服務器。所以基本上我唯一想到的是使用一些整潔的宏。我非常肯定可以定義優化的方式,因爲我在某個地方看到了它,但我仍然記不起它的樣子。通過宏定義編譯標誌(C++ 11和優化)
回答
你要求的是超出C++規範。
因此,如果它支持所有 - 任何地方 - 它將通過編譯指示來支持。我不知道有什麼編譯指示「編譯爲C++ 11」,所以我會說這是一個失敗的原因。還有千萬顯得有些優化編譯指示在那裏:
http://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas.html
但是,一定要記住使用#pragma爲完全的規範之外。如果編譯器命中一個,它可以做任何它喜歡的事情,並且仍然是標準的。這包括推出視頻遊戲(and this has been done)
所以長話短說:如果這是你的要求,那麼你需要告訴任何人,這是提供您需要一定的編譯器設置你的計劃您的編輯服務。
該問題明確指定了g ++。 –
而更重要的是(正如我前幾天在工作中發現的那樣),-Wpragmas + -Werror使得它錯誤。 –
@KonradRudolph在標籤中(並不總是超顯式的),你的觀點是...?如果您知道gcc中的「編譯爲C++ 11」編譯指示,我會授予我從答案中學到的新東西。 – HostileFork
- 1. C++編譯器標誌11
- 2. 用優化標誌編譯C
- 3. Visual C++編譯器是否優化了未定義的宏塊?
- 4. 通過優化編譯的Xcode目標
- 5. C++ 11預定義的宏
- 6. 預定義的宏和C++ 11
- 7. 什麼是C代碼通過和編譯/無優化?
- 8. 通過xcodebuild傳遞編譯器標誌
- 9. 編譯器優化,分割宏擴展
- 10. CMake編譯標誌
- 11. C++編譯器優化
- 12. C++編譯C++ 11
- 13. Objective-C編譯器標誌
- 14. C++ 11如何在編譯時識別原子類型(通過mtl或定義)?
- 15. C++鏈接和編譯標誌
- 16. C編譯器優化 - 涉及算術的宏
- 17. C++編譯器標誌11 - 沒有找到計時文件
- 18. 如何使用CMake在編譯時定義編譯器標誌?
- 19. Java通過引用和編譯器優化
- 20. 檢查waf中的編譯器優化標誌
- 21. 在linux x86_64上編譯llvm:關於優化標誌的建議?
- 22. C/C++編譯器反饋優化
- 23. g ++在編譯靜態庫時是否有意義添加優化標誌
- 24. GCC優化標誌
- 25. C++ -malign-double編譯器標誌
- 26. 通過宏強制編譯器設置
- 27. 覆蓋GCC編譯標誌
- 28. 微軟C/C++優化編譯器編譯爲
- 29. 編譯器優化
- 30. 編譯器優化
你處理的問題不是技術問題,而是社會問題。如果遠程服務器管理員不想讓您指定命令行選項,則不應該嘗試指定命令行選項。如果遠程服務器管理員確實希望讓您指定命令行選項,那麼您將能夠找出一些界面來指定它們,這對您而言都很合適。 – hvd
我已經跟服務器管理員談過了,他說他不能改變命令行選項,但如果我可以通過宏執行它,那麼它就沒關係。 – user3340553
@ user3340553在這一點上,我認爲如果您可以向我們提供有關該服務的更多信息,可能會有所幫助。也許我們可以建議一個替代品,因爲這個出現「破碎」。再次,不知道更多,我們不能說。也許這是爲了比賽,規則(任意)限制編譯器設置? –