@陳梓瀚(vczh)
>>顯然“所有流行編譯器版本”是一個(gè)你只需要下載完寫了從vcproj到的makefile生成器以后就自動(dòng)完成的事情,一勞永逸也,想做當(dāng)然能做,而且隨時(shí)更新。
這只是構(gòu)建腳本而已。 我說的是不同編譯器產(chǎn)生出的二進(jìn)制代碼的兼容性。
你能用msvc鏈接到一個(gè)mingw生成的二進(jìn)制庫嗎?
你能用msvc鏈接到前一個(gè)crt版本嗎?
>>運(yùn)行庫版本一律使用static鏈接,因此可以跟你的編譯器版本捆綁在一起。
看吧, 你又"一律", "一定" 什么的了。
這是C++語言本身的問題。 C++的特性太復(fù)雜, 而且是一門開放的語言, 所以會(huì)有很多二進(jìn)制上不兼容的特性。
而且C++這門語言本身就會(huì)促使開發(fā)者使用復(fù)雜的設(shè)計(jì)。
>> 一個(gè)程序不可能也不應(yīng)該同時(shí)使用N套平行的GUI庫(嵌套關(guān)系除外)
你沒見過而已。 確實(shí)有這樣的東西存在。 MFC+WTL+還有一個(gè)什么忘記了。
當(dāng)然, 那東西確實(shí)丑陋。
不過已經(jīng)是這樣子了, 推倒重來的代價(jià)公司受不起, 用戶也受不起。
>>main之前的任何異常都不要捕捉,任由崩潰。想log就捕捉了log,log完還是要throw;以便崩潰
再次強(qiáng)調(diào), "需要全局的依賴" 和 "處理全局初始化錯(cuò)誤" 是兩回事。
回復(fù) 更多評(píng)論