只要是微軟的 C ,都是不標準的,而且 IDE 龐大,C 11 的特性都沒支援全 是真的嗎?

時間 2021-05-31 05:39:28

1樓:FRANK

Visual C++這種老舊這東西還是不要為好。要用也用Visual Studio 2019。根據https://

,MSVC,Clang,Gcc對於C++標準的支援是差不多的。

C++ 11的標準真的沒幾個編譯器能支援全。VS是除了Clion之外最強大的C/C++ IDE了,沒有之一。

2樓:

題主用的 VC6 嗎?VC6確實很不標準,請使用 2013 以上的版本。

和 VC6 比,確實 CodeBlocks 好多了。

3樓:

這個問題你去問Google吧,因為Chrome組同時滿足「使用VisualStudio」和「C++11特性用得飛起」這兩個特徵。

對於第二點大家應該都沒什麼疑問,至於第一點,可以去看Chromium說明——Google強制你只能使用當前時間點下最新版本的Visual Studio來獲得必要的編譯工具鏈。

4樓:

個人覺得,如果你是進行應用層的開發,那麼Windows平台上的VS2013對C++11的支援應該足夠支援你的需求了,足夠了,因為你的普適需求,微軟也會考慮到的。

5樓:Colliot

簡單總結一下,MSVC 14.0(就是 VS 2015 帶的,2015-07-29完全支援了 C++11,基本有一半的特性是這個版本剛實現的。剩下的大概一半是 MSVC 12.

0 實現的(2013-11-13)。C++14 的特性完全是在MSVC 14.0 才開始支援,還沒實現完。

作為比較 clang 3.3(2013-04-19)完全實現了 C++11,clang 3.4(2013-11-06完全實現了 C++14

,將會有非常靈活的安裝選項

Code::Blocks 這種爛 IDE 就免了,基本沒有分析功能,還不如用文字編輯器。IDE 推薦 CLion,或者 VS 裝 ReSharper C++。

兩者是同一技術。比較耗記憶體(資源實在不夠就裸的 VS 好了),換來的是更好的靜態分析。自己權衡吧。

6樓:

vs 預設開啟stdafx就讓我很不爽,還有很多預設的開關都是逼著你用微軟私有的庫函式,比如_s函式和某些特性。

如果不熟悉微軟的IDE的話,真拿它們沒轍。從某種意義上講,微軟就有意誤導你不使用標準c++。

雖然ms的編譯器支援標準c++,但是通過這種手段安利微軟的私貨真的好嗎?

7樓:布客飛龍

1. g++也不標準,裡面加了自己的很多黑魔法。

2. IDE的體積和功能不可兼得。

3. 你不可能用到全部的c++11特性,為何要求編譯器支援全部的特性?貪多嚼不爛。況且98也沒有全部支援,不還用得好好的麼。

4. 微軟的不標準是指http://

vc.net

(c++/cli)?不用不就得了,我一直將其看為另一種語言。mfc是乙個三方庫,跟標準毫無關係,就像很多類似的三方庫一樣,code::

blocks也自帶wxwidgets。

8樓:

是真的,不過也沒聽說那個編譯器完全支援新標準。

另外,cb那捉急的卡死。。。。。

總之要麼編輯器編譯器偵錯程式一條龍,要麼弄個靠譜的ide吧

9樓:Yuncheng Liu

其實我個人覺得主要是 C 和C++的編譯比較複雜所以一般都自己makefile或者cmake之類的,只要檔案一樣編譯過程就一樣 vs把這些細節遮蔽了導致很多新手連編譯和鏈結都分不清

10樓:高博遠

C++ 11 的特性幾乎沒有哪個編譯器是完美支援的。至於標不標準?

vs2015我還沒用過,vs2013來說,貌似empty base optimization還是有問題的:

struct

B{};

structC:

B;structD:

B;intmain

()你看看vs輸出的是啥。empty base optimization的相關說明找尋ISO/IEC 14882即可。

類似的vs的cl編譯器實現不完美的地方應該還有很多。不過總得來說,其對標準的支援程度還算可以。

11樓:exiledkingcc

從lz的問題來看,是對於Windows平台來說的吧。

對於較新版本的話,兩者對C++標準的支援都不錯了,而且都都在持續增強中,這不是重點。

VS十分強大,但是我現在沒有用,原因是太強大而附帶了太多東西,太多都用不上,最蛋疼的是資料庫相關的一大堆東西;而且佔空間大,機子舊了,用起來卡,特別是啟動的時候,我以前都是直接用命令列的。

CB只是乙個單獨的IDE,所以如果在Windows下,還要用mingw的gcc(也可以用VS的編譯器,但是沒試過),雖然有附帶的,但是配置什麼的對新手來說也很麻煩;而且畢竟不是親媽,gcc在windows上還有一些小問題,比如scanf、printf格式化符支援等。

如果是新手,新版本的都不錯。

至於Clang,很不錯,但是不建議在windows下折騰。

最後還要說一句廢話:關鍵是人,而不是工具。

12樓:碎石

請區分vs和g++,乙個是IDE,乙個是編譯器。正確的對比方法是只對比編譯器。不管怎麼說,看看編譯器的使用範圍,clang異軍突起,但是g++還是使用範圍最廣,接受度最高的。

如果是做win開發,vs就行了,別想那麼多。如果是要跨平台,是要設計一下框架的,把系統依賴的部分封裝起來。

PS:個人喜歡對命令列友好的編譯器。

13樓:

從功能來說vs肯定完爆g++,目前VS2013不完全支援c++11,但是實用的c++11特性都支援了。而且也計畫全部支援。用什麼編譯器還是的看你在什麼平台開發系統了,windows肯定實用VS了,VS擁有完整的軟體堆疊,在非windows平台目前最好的選擇還是gcc工具鏈還是最好的選擇。

選工具還是實用不實用,開源社群的宣稱也不是完全正確,都帶有針對性。

14樓:

自從微軟的市場領導地位受到開源和其他競爭對手的強有力的挑戰後,微軟的Vc比以前標準多了windows系統也開始向國際標準靠攏,廢掉了大量自己專有技術。

15樓:Sunchy321

遠離VC6是必須的。實際上在我的印象中VC6一直都是和某些劣質的教科書聯絡在一起的,就算去除這些主觀因素這個IDE也不是什麼好選擇,因為C++ ISO標準和VC6似乎是同一年發布?所以VC6必然有某些其他IDE通用的特性是不支援的,比如模板偏特化。

這樣就會造成一些嚴重的後果,比如哎呀我的boost怎麼用不了呢?哎呀我的type_traits——哦不對,VC6沒有這玩意。

好了現在把VC6拋掉,假設你使用的是VS。實際上我對VS也沒有太多好感——尼瑪啟動時間可以再慢點麼?無論幹什麼事似乎都慢吞吞的。。

除此之外體積也太大了。當然這都不是問題,因為VS這貨它不僅僅是C/C++ IDE。

單看C/C++方面,我依然不太喜歡,因為它對標準的暗中不爽——scanf_s就是例子。constexpr似乎也不支援?總之VS似乎一直在和標準對著幹?

C::B,反正我比較喜歡用這貨,可能跟我水平太渣有關係。總之習慣就好。

綜上,要用VS也不是不可以,只不過也許某一天你會覺得很疼很疼。。

16樓:江灝

主要是vs不免費,雖然每次剛發布對當時的標準支援的都挺好,但是過一段時間等標準更新了以後開源的產品可以免費公升級,它公升級還要花錢.

17樓:cuimolei

甭管「標準」與「不標準」,用的人多的才是「真標準」!

推薦使用vs2010或者eclipse或者qtcreator(後面這倆本質上就是mingw)

vs2012擴充套件的新特性和使得其餘標準C++差的越來越遠,也不推薦使用express版,之所以用vs主要還是為了使用mfc(express不支援),clr那東西雖然微軟大力在推,不過微軟一家的標準也不建議花那麼多時間學習(clr直接C#整起輕鬆省力),所以不推薦express版,而且vs2010的個人版還是蠻便宜的……

如果不使用mfc(很多很多demo都是用mfc寫的,所以繞不過去,C+程式設計師早晚都得學的東西),推薦使用mingw(ide用eclipse最好,我推薦用qtcreator是因為能模擬vim)

所以標準不標準都沒有關係,跟著群眾走就對了!

18樓:

誰推薦你用CB 我以前用vs 然後用用c-free 同學電腦有cb感覺難用的不行那除錯天吶話說你這剛學就能體會到編譯器的微妙變化麼

19樓:戴威

CodeBlocks就算了吧,還不如用Eclipse呢。我也不建議你用VC這種上古IDE,雖然我當年學C的時候用的就是VC++6,我推薦你用Visual Studio 2013,express版是免費的。微軟和JetBrains都是業界良心啊。

20樓:shooting

Visual studio 是最好的ide,沒有之一。龐大歸龐大,但是夠強大。你說看片你是看高畫質的還是看640*480的?

放心用就好了,剛開始學不必要關係啥支援的全不全的,細枝末節的跟你不搭嘎。另外剛開始學的話……不妨試試C#吧。。。

大家都是怎樣讓自己靜下心學習的,每次只要是學習,學不了幾分鐘就學不下去了,可想學但是學不下去?

meya 我想現在大家都過得比較安逸,沒有什麼大環境影響的話,這樣的人很少有人真心願意去學習吧,但凡要學習一定有乙個或遠或近的目標。如果沒有的話可以自己設乙個,有了目標就有了期限,人是懶惰的,比較忌諱一件事一直拖下去。習慣的養成總是很難的,可以一點點來,每次都把自己能夠堅持集中注意力的時間再調長一點...

為什麼看到的都是產品經理由C端轉B端,而不是由B轉C?

小龍 資本和就業崗位都在往B端這邊走,C轉B的情況就比較多了。B端產品面向特定領域,使用者數量相較於C端少得多,更加注重專業領域操作流程 業務邏輯的深度挖掘。所以,作為乙個B端產品經理,專業性 邏輯性 業務性非常重要。B端產品經理不僅僅要求知道業務的邏輯,而且還要知道對應的上下游關係。我們公司有款用...

為什麼鋼鐵俠的英文要是Iron man而不是Steel man呢?

CaptainAmanda 1 英國首相戴卓爾夫人被稱為鐵娘子 iron lady 鋼鐵俠是 iron man 不是很正常嗎?2 steel和iron的區別 steel 鋼鐵 包括了iron 鐵 和carbon 碳 不同的steel中iron和carbon的比例不同,所以steel man 鋼鐵人 ...