使用Visual Studio开发C/C++是非常方便的,不仅表现在代码的编写上,更是在调试阶段显的尤为简单,下面将介绍一款VS插件,专门用于在VS下通过ssh连接到Linux主机,实现vs下编写与调试Linux系统下的C/C++代码
VisualGDB-5.3r8-trial插件
链接:https://pan.baidu.com/s/1s7RGBpqZVoEfhtI7GuSZqA
提取码:dvpz
1.创建工程,如下面图所示:








到现在为止,工程就创建好了,下面是执行效果与调试效果


对应的Linux主机情况如下


Linux下运行效果如下图所示

有时候代码没有智能提示(VAssistX),鼠标点击工程名,右键鼠标,里面的几个选项随便测试,直到有智能提示位置(该插件会把Linux上默认的C/C++头文件全部下载到本地,以此实现智能提醒,但是有时候任然不行,可以重新安装插件测试),如下图所示



但是如果你的代码中出现中文,不管是注释还是字符串,都有可能乱码,这是因为VS默认的文档编码格式为gb2312,而linux下默认的是utf-8,所以只要改变VS下文档的编码格式就不会出现乱码了(只要VS文档编码格式与linux默认的一样就行),方法如下,先鼠标点击代码编辑框,再点击《文件》-》高级保存选项,如下图所示

另外,由于有可能会使用到C++11标准,所以要在所有用到C++11标准的CPP文件中添加这一行
#pragma GCC diagnostic error "-std=c++11"
当然最好是在创建工程之初就设置C++版本,如下

2.下面就是用该插件创建动态库文件(创建静态库文件一样的操作),并调试这些动态库文件,现在网上几乎找不到相关的教程,所以就由我来为你讲解,首先创建 .os 工程,其他与上面介绍的一样(包括生成的库文件路径),如下图所示


将.so工程添加到工程1中,右键工程1工程名,选择添加-》引用,勾上工程2(及.so工程)操作如下


直接点击运行或调试的情况如下




看吧,是不是非常方便,比在Linux下用gdb直接调试安逸很多吧,Linux下生成的库文件不带lib前缀,如下

3.接下来才是重头戏,创建一个工程,需要使用别人给你的动态库文件(静态库文件方法相同),首先要告诉插件,要使用的动态库文件的名字(不带lib前缀和.so后缀),文件路径,以及头文件路径,先创建工程 3,使用工程2生成的动态库文件,将工程3设置为启动项,右键工程3工程名,如下图所示



点击上图中绿色的下载按钮下载目录下的所有文件(不下载不行),然后


注意,在工程3生成前要把LinuxProject2.so名字改成libLinuxProject2.so,然后生成工程3,执行或调试的时候再把名字改回来,(聪明一点,你可以把LinuxProject2.so复制一份命名为libLinuxProject2.so,然后两个放在一起,一个用于工程3生成时使用,一个在调试或执行的时候使用,生产环境下丢掉libLinuxProject2.so就行了)。当然如果别人给你的动态库本来就是lib前缀,就不用这么麻烦的,只不过在工程配置动态库名字的时候不带前后缀。其他情况你可以摸索前进,下面是工程3 运行或调试情况


Linux下运行情况如下

本文介绍VisualGDB插件在Visual Studio中开发C/C++,通过SSH连接Linux进行代码编写与调试。涵盖智能提示、编码格式调整、C++11标准设置、动态库创建与调试,以及使用第三方动态库的方法。
670





