此前在Linux下开发应用程序有2种办法,一种是在Windows上编写好,然后复制到Linux上在命令行中编译和执行。另一种是采用Linux的IDE,用过Code::Blocks,勉强够用,不过一旦遇到这个开发工具的BUG就很麻烦了,很久也不更新版本,只能尽量避开BUG。
自从Visual Studio支持开发Linux上的程序后,就一直采用Visual Studio来开发Linux App或SO。以下讲2个方面,第1个是安装开发环境,第2个是谈谈使用体验。
1. 安装开发环境
网上很容易搜索到如何安装Visual Studio(2017和之后版本),我就不讲的太细了。说几点值得注意的。
- 安装前C盘留出足够空间,至少10 GB可用。如果没有安装经验,只要看到C/C++,只要看到Linux字样,就选中,避免缺少组件编译失败。
- 如果在线安装速度慢,网上有快速下载的办法,更改download.visualstudio.microsoft.com对应的IP。
- 假如我们有一套代码但要同时编译出Linux和Windows的程序,而Windows下一些开源代码需要手工编译再使用,一般情况下会把源码下载到C盘然后编译。所以,C盘预留出足够空间有很多意义。(我自己的电脑,C盘都是和C++有关的,开发windows和linux app。D盘都是和JAVA有关的,开发服务端程序。这样工作很方便)
- 即使你安装完Visual Studio,一旦你设置连接一个Linux设备的参数后,Visual Studio会读取该Linux系统中的头文件到C盘(一般不到10 MB空间)。
- 假如你之前连接一个IP为192.168.1.10的Linux设备A,后来换了Linux设备B,B和A的IP和root密码都一样,此时你可以直接连接B,但是建议编译任何程序前先更新Linux头文件到你的Windows。
- Linux端要安装相应的软件以支持编译。同样的软件但在不同Linux版本中软件名称不一样。如果是CentOS,yum install openssh-server gcc-c++ gdb gdb-gdbserver。如果是ubuntu,apt-get install openssh-server g++ gdb gdbserver。
- 带GUI的Linux,例如ubuntu,现在安装后都不以root身份登录,而Visual Studio要求以root身份远程登录,所以还要启动ubuntu的root用户,如果没有启动SSH还要启动这个服务。相比较CentOS一般作为服务器系统,root和ssh都默认使能/启动。
2. 使用体验
优点:
- 最大的优点就是调试方便。调试Linux程序和调试Windows程序体验完全一样,爽翻了。
- 编写代码的体验同样和编写Windows程序一样,同样有提示。
- so文件也可以调试,这不算是优点,只是提醒各位。
缺点:
- 有时代码没有问题,但编辑器还是在代码下面画上红色波浪线,有强迫症也得挺着。
- 如果是调试Windows程序,Visual Studio会实时显示当前CPU和内存使用情况。而调试Linux程序没有,确实要做到也不难,这算美中不足吧。
- Visual Studio的代码编写提示水平远低于IntelliJ IDEA,20年了也没啥进步。