本文简介WSL的安装和使用体验
最近需要在windows下面做一些事情,一些验证的工作又想用gcc来编译,因为win10已经支援了WSL,于是尝试使用WSL替换cygwin来做事。目前WSL使用体验良好,安装应用,编译,调试和linux下无异。
安装
Step 1
控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统,后重启。如下图
Step 2
进入Microsoft Store,搜索“WSL”,可根据需求选择安装,我这里选择的是ubuntu 18.04,如图:
使用
在启动栏执行wsl就可以启动WSL,一个完整功能的linux console , 和ubuntu 18.04原生系统无异,如图
WSL将本地磁盘mount在/mnt/c, /mnt/d, /mnt/e等
修改apt源
替换为阿里源
1 | vim /etc/apt/sources.list |
vim中执行替换
1 | :%s/security.ubuntu/mirrors.aliyun/g |
保存后执行
1 | sudo apt update |
安装gcc
1 | sudo apt-get install gcc |
编译测试
准备两个文件cw_exchange_client.c和cw_exchange_server.c进行编译
1 | gcc -g cw_exchange_client.c -DSIMULATE -o client |
检查编译结果
1 | readelf -h server |
可以看到
1 | ELF Header: |
然后直接执行./server,可以运行
编译运行32bit
我的win10 wsl是64bit,编译出来的是elf64。当需要对比32bit系统时需要编译为32bit的
1 | gcc -g cw_exchange_client.c -m32 -DSIMULATE -o client |
但直接执行时会提示
1 | -bash: ./server: cannot execute binary file: Exec format error |
WSL需要执行下列才能执行ELF32格式
1 | sudo apt install qemu-user-static |
注意 每次重启wsl后都需要执行一次sudo service binfmt-support start
其它
目前还安装了git, nodejs, hexo都工作良好,这篇博文就是在wsl产生的