• windows10下搭建Linux子系统(配合vs code环境wsl)


    一,安装下载ubuntu系统(这里我下的是ubuntu18)自己根据自己的硬件设备区选择适合自己的版本号
    打开window的应用商店,在搜索框输入linux,选择版本下载即可,不需要登录账号就可以下载。


    点击下载之后就会出现以下截图,不要点击启动,我们配置好环境再来启动即可。

    二,环境配置
    按住windows+i键打开设置中心,选择更新与安全

    打开开发者人员模式,点击,会弹出确认弹框,点击“是”,如图所示。即可打开“开发者模式”

    打开控制面板,windows+r打开运行,输入control即可打开控制面板。点击程序与功能,点击右侧的打开或关闭windows功能,

    在“启用或关闭Windows功能”页面,找到“适用于Linux的Windows子系统”条目,在前面的框中勾选上,如图所示,然后点击“确定”,会弹出重启对话框,我们点击使电脑重启。

    电脑重启后,在应用商店下载页面,找到我们已经下载好的linux系统,然后点击后面的启动按钮,如图所示。

    点击启动后出现以下界面,等待以下,等安装完成即可。

    在安装过程中可以根据自己额需要去设置用户名和密码。

    设置完成后自己进入你设置的用户名下

    现在就 可以像linux系统一样使用啦。
    在此我们还是要换下源比较好,因为使用linux自带的源感觉很慢,而且有些还会有限制或者找不到软件包的问题。
    首先复制一下我们的软件源原始文件

    修改文件读写权限,这里设置为可读可写可执行

    修改文件内容,根据需要选择适合自己的编辑器打开(vi、nano、gedit)可以注释掉或者直接删除掉原本的文件信息换成以下源。这里是ubuntu18的,如果有别的版本的可以根据自己的情况去换。
    ubuntu18

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    

    ubuntu16

    deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
    deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
    deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
    

    ubuntu14

    deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
    

    编辑完保存退出即可,然后更新一下:

    更新软件(二选一)

    sudo apt-get dist-upgrade
    sudo apt-get upgrade
    

    由于包与包之间存在各种依赖关系。upgrade只是简单的更新包,不管这些依赖,它不和添加包,或是删除包。而dist-upgrade可以根据依赖关系的变化,添加包,删除包。
    安装gcc gdb

    
    

    使linux在windows下可以更加方便执行:

    三、在windows下试运行
    打开windows下的命令行,输入bash 出现以下即可以成功使用。可以看到我们的Linux子系统是挂载在mnt目录下的,那么我们怎么才可以去到linux的文件系统呢?
    在运行窗口下,我们输入:\wsl$即可来到linux下的文件,我们可以看到linux下的所有文件内容。

    四、安装vs code
    官方下载地址:https://code.visualstudio.com/Download
    选择自己的系统版本去下载安装

    至于安装的细节,由于我是之前就安装好了,这里就不赘述了,具体细节可以参考别人的博客。
    安装完之后我们需要再打开vscode做以下简单的配置,安装wsl,c/c++插件,具体步骤是点击右侧的田字格,然后再上面的搜索框依次输入wsl和c/c++出现中间的插件之后,点击install就可以了。

    安装完成之后,我们就通过linux命令行来启动我们的vs code软件了。若是要在vs code下编辑和运行c文件,我们还需要进行以下配置。
    打开vs 左下角的设置,接下来如图操作


    打开文件后输入下面这句:

    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\wsl.exe",
    
    

    搞完之后我么就可以在vs下编辑和运行c文件啦。打开终端,就可以直接使用linux命令去执行和编译我们的文件了。
    编译实例:
    mqtt客户端:

    #include </home/zzl/3rdlib/include/MQTTAsync.h>//需要修改成你自己的
    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    #define  SERVER "127.0.0.1"
    
    void onConnect(void *context,MQTTAsync_successData* response)
    {
        printf("Succeed in connecting to mqtt-server!
    ");
    }
    void disConnect(void *context,MQTTAsync_failureData* response)
    {
        printf("Failed to connect  mqtt-server!
    ");
    }
    int main()
    {
        MQTTAsync client;
        int ret;
        char clientId[]="zzl";
        MQTTAsync_connectOptions options = MQTTAsync_connectOptions_initializer;//初始化连接选项
        ret=MQTTAsync_create(&client,SERVER,clientId,MQTTCLIENT_PERSISTENCE_NONE,NULL);
        if(ret!=MQTTASYNC_SUCCESS)
        {
            printf("Cannot create mqtt client!
    ");
            return -1;
        }
        options.onSuccess=onConnect;
        options.onFailure=disConnect;
        options.username="test";//设置用户名密码需要修改成你自己的
        options.password="123";
        ret=MQTTAsync_connect(client,&options);
        if(ret!=MQTTASYNC_SUCCESS)
        {
            printf("Cannot start connect!
    ");
            return -1;
        }
        getchar();
        return 0;
    }
    
    
    

    编译:

    gcc -o test test.c -I ~/3rdlib/include/ -L ~/3rdlib/lib/ -lpaho-mqtt3a
    ./test
    

    结果:显示为成功连接




    至此完成全部工作。
    下一篇:我将来介绍在此环境下来搭建我们的mqtt服务器。

    一键三连呀!
  • 相关阅读:
    关于博客
    lua中table复制
    logstash收集慢查询日志配置
    logstash的timestamp使用日志中的日期
    logstash收集bash_history历史命令
    使用supervisord监控logstash
    logstash 2.2以上版本,nginx 错误日志切割
    结合ELK进行分析PV,构建异步的WAF
    正则匹配嵌套结构
    一道关于停车计费的问题
  • 原文地址:https://www.cnblogs.com/jee-cai/p/14095362.html
Copyright © 2020-2023  润新知