买了个MBP写c,但是发现MacOS不能用VS2013,而且为什么感觉和win上的不一样呢?

用户67600538


都是写c/c++程序,但是mac下主要写 for mac的程序,或者写跨平台的程序。如果你要写for windows的程序,目前有个局限是只能在windows下debug(想清楚你的代码打算运行在哪个平台下,如果只需要运行在windows上,最好用windows写)。

vs2013是一个windows only的开发工具,目前没有mac版本(即便是必须在mac下写windows程序,也可以写,但是要想清楚用哪个ide)。

c/c++代码运行依赖函数库,mac的下的库和linux的属于一类,通用性强,稍微有点儿区别,跨平台略容易。纯windows下的函数库种类繁多,且多数不能跨平台(windows和mac需要依赖的系统函数库不同,可能你在mac下运行的比较好的代码在windows下无法运行,或者结论不准确)。

微软的vs2013虽然不能用在mac上,但是他后续有更高版本的vs可以运行在mac上。除此之外,此外微软还有一个软件叫vscode,这个可以用在几乎所有平台上(必须在mac上用vs的话,用更高版本而不是vs2013能解决你的问题,此外,vscode可能更好)。

用惯了之后你可能会认同,mac可能确实是最适合写代码的平台。

想清楚你自己的目的,参考上面这几个结论,总有一条适合你。


当前昵称已经存在瞭


在MacBook Pro上写C语言为什么要用visual studio呢?macOS好歹也是基于FreeBSD发展起来的,具备非常纯正的Unix血统,C语言和Unix毕竟是相辅相成的一对好基友,你还要在macOS上用其他的工具吗?macOS已经为你准备了一套完备的开发工具箱。

Mac版visual studio为什么不支持C语言开发?

Mac版本的visual studio不是真正的visual studio,在功能上差了很多。macOS版本的visual studio是基于Xamarin发展起来的。C#在可视化编程方面有比较大的优势,Unity游戏开发引擎的高速发展的同时也带动了C#的发展,很多开发者有在macOS上做Unity开发的需求,Unity的默认脚本开发语言就是C#,于是一切都顺理成章了。

这家叫做Xamrain的公司就是专门做

.NET

跨平台开发,将C#相关技术移植到macOS平台进行开发,纳德拉接替鲍尔默成为微软新一任CEO之后,这家公司被微软收购,尽管有了微软的支持,微软也并没有让新的macOS版本的visual studio支持C/C++开发。

为什么微软不选择支持macOS版本visual studio进行C/C++开发呢?两个重要原因:第一个是避免版权风波,第二个原因是,微软自己也不想让VS成为一个跨平台的完全体IDE,毕竟这是微软的优势。visual studio支持的是VC和VC++,这是微软自己搞的一套标准,当然本质上并没有太大区别,不过大家通常用得最多的是标准C和标准C++,这就导致了很大的风险,微软毕竟是一个商业公司,很有可能会触碰到版权风险;微软对技术不做保留的话,大家都去用别的平台的VS,那Windows操作系统谁用呢?微软希望的是,更多的开发者因为使用C#转到Windows平台进行开发,其他平台全功能很容易造成开发者流失,吸收更多的开发者到自己的生态里面来才是阿里的初衷,微软在其他平台上功能越完善,开发者流失的可能性就更大。

macOS下到底用什么写C语言?

文章开头就说了,macOS毕竟是一个基于FreeBSD发展起来的具备纯正Unix血统的操作系统,也就是说Linux/Unix下的几乎所有工具,macOS上都是built in的,你拿过来就可以直接使用,C/C++、Java、PHP、Ruby、Python等等这些编程语言都是原生支持的。

在macOS上,内置了Vi编辑器,你直接在terminal终端上就可以使用,跟Linux/Unix上使用是一模一样的,只是由于macOS的一些按键跟标准键盘上有一定的差距,导致了在快捷键使用上有一些小小的不同,不过这都无伤大雅,直接可以使用。除了Vi编辑器,还有GCC编译器、GDB调试器,这些你都可以非常轻松的在上面使用。文本编辑器方面,使用Emacs、sublime text、visual studio code这些文本编辑器,安装C/C++开发插件,同时搭配上面的编译器、调试器就可以使用。

macOS下也有很好的集成开发环境可以用来开发C语言程序,Xcode是苹果自家开发的继承开发环境,支持C/C++、Objective-C、Swift等众多编程语言,这也是一个免费的集成开发环境。除此之外CLion也是macOS下非常好用的C语言集成开发环境,这款工具是捷克软件公司JetBrains开发的,值得注意的是这家企业就是写下了IDEA、WebStorm、PhpStorm、GoLand、PyCharm、Reshaper C++等众多经典开发工具的捷克布拉格神话,你只要熟悉他们家的产品,就一定会给出好评。

就我自己而言,Windows下唯一让我怀念的也就只有visual studio了,不过长期在Linux/macOS下工作我已经接受了没有visual studio的日子。假设你想要成为一个习惯在*nix哲学下的程序员,那么我建议你直接使用macOS自带的Vi+GCC+GDB的解决方案,这么做一定会对你长期的学习、工作大有裨益的。


EmacserVimer


下面来回答下如何在Mac上搭建C/C++开发环境。

XCode

Mac上开发首选IDE,自带的LLDB很好用,自动补全也很棒,开箱即用,非常适合新手使用。当然你也可以选择CLion。下面以实例来说明XCode简单使用过程:

1. 创建项目,选择C++ 或C

2. 选择命令行工具

3. 创建类文件

至此,我们就可以愉快的编写C代码了。

VSCode

作为一款跨平台应用,VSCode还是很不错的,不仅有绚丽的UI,更有强大的亲爹微软在做后盾,更新频繁,后台更有一堆开发者为其提供各种插件。

当然,使用VSCode,和XCode相比,你需要自己去折腾各项配置,编译器选项等,作为新手,还是建议开箱即用的IDE吧。

友情提醒:

新手强烈推荐推荐使用IDE集成环境!推荐使用IDE集成环境!推荐使用IDE集成环境!


本文为作者“一个程序员的奋斗史”悟空问答原创文章,未经允许转载、抄袭必究!