適合 Mac 學習「大學C++」的軟體應該用什麼?

謝謝你們的回答,我準備裝win7。

我不是計算機系的,也沒有想學得很厲害,只是因為這是學校要求的。

但 我會盡全力來學!!

其實我一直如此^_^


首先指出你寫的那一句例子的錯誤

  1. 我不知道一個什麼教材會讓你寫#include "iostream.h"這樣的,系統庫是要用尖括弧,而且標準庫頭文件不帶.h,即#include &
  2. cin和cout是std命名空間的內容,要麼在前面加using namespace std,要麼改成std::cin和std::cout。
  3. main函數的返回值不能是void,是int,如果執行成功要return 0。

你們學習教的C++是錯的,目測是VC6.0那種C++吧,在新的編譯器上是編譯不過的,Xcode對的。

你可以把你要編譯的C++源文件放到桌面上(如main.cpp),然後打開終端(? + 空格 輸入 Terminal),輸入cd Desktop,再g++ main.cpp -o main,如果編譯成功的話,就會生成了個main可執行文件,再在終端./main就可以執行了。

同意 @白如冰 的說法,「把你們的教材扔了」。

--------補充--------

樓主好像並不是計算機專業的學生,想必還在苦惱如何讓Xcode編譯一個C++工程吧。好人做到底,給個步驟吧。

1. 打開Xcode,點Create a new Xcode project

2. 選 Command Line Tool

3. 進入到嚮導,Product Name隨便輸點什麼,下面的Type選C++,然後Next,選保存位置,隨意。

4. 然後就發現生成了一個新項目了,默認生成了一個main.cpp,已經有一個輸出Hello World的代碼,點一下左上角的運行,可以看到右下角有Hello World輸出。

5. 如果要輸入東西怎麼辦呢?試著把下面一段程序複製到main.cpp中

#include &
using namespace std;

int main(int argc, char *argv[]) {
int val1, val2;

cin &>&> val1 &>&> val2;
cout &<&< val1 + val2 &<&< endl; return 0; }

點左上角的那個三角(運行)。

然後可能你會發現什麼也沒動,你點一下左下角的那個小箭頭,然後就發生出現了一個面板,在右邊的那個框裡面輸入1 1,就會返回2(1 + 1 = 2)。


xcode是對的,你們的教材是錯的

把你們的教材扔了


如果想用IDE的話,別用xcode了,obj-c才是它的親兒子,印象中它對C++的支持並不好。

不妨試試jetbrain(IntelliJ, Android Studio的開發商)新推出的集成開發環境CLion。

JetBrains CLion

當然用IDE之前,你要把gcc (g++) 和make大概怎麼個流程搞明白。

---

更多請見

Mac系統下最好用的C++ IDE是XCode嗎 ? - OS X


xcode 和 idea 都可以, eclipse 的 cdt 我也用過,也不錯。話說作為學習工具的話,你到windows上也就是vs換xcode,其實區別不大。


樓上的怎麼都推薦C++ Primer。。。樓主不是為了當程序員啊,只是為了考試而已。所以在Mac里用VirtualBox或者其他虛擬機裝一個XP,然後上VC6就可以了。考試通過之後刪掉虛擬機即可


編輯器用vim,編譯器用g++,在iterm上面用命令行,這個是我知道的最高效率的了


過了這麼久了,更正下:

第3點,沒深度用過VC,所以有點片面,請見諒。IDE工具大家用順手的就行了。有高手VIM 寫代碼都寫的飛起。

第4點,指的是Clang/LLVM。Clang/LLVM非常好,這個沒異議吧。評論區關於GCC和Clang的討論可以移步到Clang 比 GCC 好在哪裡?帖子裡面。

=========以下是原答案=======

Mac OS 重度用戶。也是一名程序猿。

我就想說幾點。

1,你的教材可以扔了。

2,想學c++,建議先在unix 類系統上學習吧。

3,Xcode很好用,至少比VC好用吧。

4,Mac OS 有現在為止我認為是最好的編譯器。

5,不熟悉這個不是問題,多看文檔,多提問。

推薦一個論壇:http://www.cocoachina.com


這是因為你們教材上的例子是過時的、錯誤的。

現在的C++語言里,如果要包含輸入輸出流(也就是Input Output STREAM,簡稱iostream),應該使用:

#include &
using namespace std; //要使用名稱空間std。如果不加這行,就必須在函數里指明,如cin要寫成std::cin

"iostream.h"這種格式早就不支持了。也許較老的編譯器還能支持吧。十幾年前我上大學時用的Turbo C++是可以的,但現在的主流都會報錯。

main函數必須有int類型返回值:

int main()
{
int a,b,c;
cin&>&>a&>&>b;
c=a+b;
cout&<&

部分編譯器可能會讓void main()通過,但這絕對是不符合C++設計規範的。

如果只是為通過考試,不在乎學的東西是否正確,那你可以找個在線的老的編譯器。

突然發現題主還是校友。不知道你們現在的任課老師是誰?

————————————————————————————————————————

反對「把教科書丟掉」的答案。

人家只是個經管專業、為了通過基礎課考試的學生,你們給他推薦C++ Primer?哪怕是Essential C++我都覺得沒必要,如何能通過考試才是重要的。


可以用 CodeBlocks


TextMate


現在突然發現VC++真的好渣,還是不要用了,一點都不標準,可以把C和C++的語法混合著用,而且C下還可以不用命名空間就使用C++的語法,也是醉了,昨天別人發我一份數據結構的題,我複製到Dev-C++下各種報錯,我才意識到當初用的VC++是有多麼渣,現在在用vs學習C#中,如果說為了應付學校的學習還是VC++吧,否則你會發現各種問題。


排名第一的大神回答的很棒,都解釋清楚了。只是想加一句,那些讓人家用prime的是什麼心態??

我就想好好考過一個等級考試,用不著這樣嘲諷我們吧。上海這邊的高等計算機考試院,好像是16年還是17年,才把考試系統從vc6.0換成了vs 2010。然後,教材也不可能馬上就改,畢竟上面也沒有說改考試,哪個老師會要求學生換教材?我們總不可能跟考試院對著干吧?

(學校老師們也是去15年開始,把vc6.0換成了vs 2012,很大程度還是因為,當時win8運行會報錯,雖然用原版的vc6.0,或者是把exe替換進中文版的也可以。但是對於大規模的教學來說,是很不實際的。)

最後,對於非計算機專業的人來說,我們學習編程知識學習思想,急用的時候,手頭哪怕只有綠色版,大小只有50M的vc6.0,也可以馬上驗證一個想法。況且,真正做本專業競賽或者數學建模的時候,也都是matlab,mathmatic,甚至你可以用c#或者python。(只是要看大賽組委會要求了)

能最快上手的,就是最好的。xcode,選擇c++開發,就很棒。注意下頭文件還有,int main就行了。至於其他的東西,需要裝別的軟體的,我沒有試,不做評價。


求助,我用Xcode連一些標準程序都無法運行,求解


用學校教材的話 請配合parallel desktop學習


換教材


c++ primer

必須看


code runner


去機房學,三十機時夠了。


合適,用IDE的話用xcode clion eclipse ,vim+llvm/g++都可以,其實我比較推薦用Mac加虛擬機,然後再sublime text上面編輯,虛擬機內做編譯,代碼用個git同步就好咯


編譯器g++,調試器gdb。記事本寫程序可以了,sublime不錯,而且還是免費的。


推薦閱讀:

C#軟體如何良好的防止反編譯被破解?
為什麼說非同步編程是反人類?
程序員真的需要一台 Mac 嗎?
為什麼 Mac 適合編程?
在前端開發中,你曾經遇到過什麼大坑,很久才跳出來?

TAG:Mac | MacAppStore | 編程 | C編程語言 | MacOSX使用技巧 |