• Visual Studio2019 基于WSL的Linux C++开发


    WSL是“Windows Subsystem for Linux”的缩写,WSL让我们能够在Window10下直接使用Linux命令行,相比虚拟机而言,其开启速度要快上很多;相比云主机,又无需付费,且由于WSL位于本地,在VS中编译速度相对要快上许多。

    ​ WSL的安装网上有许多教程,就不多加叙述。不过,推荐一个我觉得还不错的教程,在Window10的Microsoft Store中搜索“WSL Guideline”,安装后即可看到比较详细的安装教程。

    ​ 安装好后记得换源,换成国内的源下载会更快,注意换源时选择你和下载的WSL Linux发行版相同版本的源,例如Ubuntu 20.04 LTS如果用Ubuntu 18.04 LTS的源,会出现好多软件包出现依赖问题。

    下一步就是安装相应的开发工具了

    sudo apt-get install g++ gdb make ninja-build rsync zip
    

    有了这些工具,我们就能在Visual Studio2019中编写Linux平台的C++程序啦。

    关于VisualStudio对Linux的支持,在我之前的文章中已经介绍过操作方法。

    可见Visual Studio 2019 基于Linux平台的C++开发(这篇文章介绍的是基于云平台或虚拟机上的Linux,不过大部分操作和WSL是差不多的,我主要记录不同的地方)

    在VS中创建一个Linux C++开发的空项目,在“项目”->“属性”->“配置属性”->“常规”中选择平台工具集,将其从Gcc for Remote Linux改为Gcc for Windows Subsystem for Linux并点击应用。这时,我们可以发现,平台工具集下面的那几个远程开头的行都消失了,转而变成了WSL*.exe完整路径。这就证明了我们成功地将编译平台设置为WSL了。这时主界面绿色的调试箭头旁边的字已经变为GDB调试程序

    下面我们就用一个例程来验证一下吧~

    #include<iostream>
    #include<stack>
    #include<unistd.h>//特地试一下Linux专有的头文件
    using namespace std;
    int main()
    {
    	pid_t i = getpid();
    	stack<int> intStack({1,2,3,4,5,6,7,8,9,10});
    	cout << "pid = " << i<<endl;
    	while (!intStack.empty()) {
    		cout << intStack.top() << "	";
    		intStack.pop();
    	}
    	cout << endl;
    	return 0;
    }
    

    点击“调试”->“Linux控制台”呼出控制台窗口,点击绿色箭头或按F5,即可看到输出结果,该例子结果如下:

    (注意:初次运行时只输出了pid而没有输出intStack不断出栈的内容,改了几次后发现,每次输出后都得加入" "或cout<<endl换行后才能在Linux控制台看到结果,我猜测可能是结果写在了缓冲区中,只有换行后才会将缓冲区的内容输出到VisualStudio的Linux控制台中)

  • 相关阅读:
    [算法初步]希尔排序
    逆波兰表达式1(简介)
    [数据结构]之链表
    [数据结构]之栈
    [算法初步]之归并排序
    [算法初步]之快速排序
    [算法初步]之冒泡排序
    逆波兰表达式2中缀转后缀表达式)
    [算法初步]之简单选择排序
    [数据结构]之顺序表
  • 原文地址:https://www.cnblogs.com/sgawscd/p/12930379.html
Copyright © 2020-2023  润新知