当前位置:网站首页>常用工具链和虚拟环境-WSL
常用工具链和虚拟环境-WSL
2022-08-03 01:12:00 【有一点甜】
发散
没想到学习LVGL的第一步,竟然是介绍工具链和虚拟环境吧?哈哈,工欲善其事必先利其器,了解自己的使用工具将事半功倍。先想想,我们的工具大概都运行在哪里?大概就三个:windows、UNIX、Linux。编译出来的程序运行在哪里?大概有四个:windows、UNIX、Linux、嵌入式硬件。也就是说,在windows、UNIX、Linux(大概率都是X86)上运行的程序,直接在其之上部署好开发工具,然后开发就好了。而嵌入式硬件(ARM、RISC-V、PPC、MIPS)上运行的程序,则需要在其它平台上部署开发工具,为啥?因为嵌入式硬件一般连操作系统都没有哇。。。即使有,受限于硬件,大概率也没有丰富的资源让你部署开发工具。因此,交叉工具链环境,就是需要的了。
大概总结了一下,主要有以下需要了解:
- Cygwin
- msys以及msy2
- minGW与MinGW-w64
- WSL
- TDM
- 各版本工具链
WSL是个啥
WSL 2 是微软早在 2017 年推出的 WSL 的原始版本的重大升级。WSL 2 不仅仅是版本的升级。它更快、更通用,并且使用真正的 Linux 内核。未来的 Linux 内核更新甚至会以 Windows 10 软件更新的形式发布。
“添加 WSL 2 为新架构,为 WSL 团队提供了一个更好的平台来提供一些特性,使 WSL 成为在 Windows 中运行 Linux 环境的一种令人惊叹的方式。”
对于我来讲,WSL就是一个windows上的Linux虚拟机,我是把他和virtualBOX,以及VMware来对标的,但是它原生自带,感觉很想尝试,因为它肯定还有我所不了解的优势。
就好像WSA一样,我感觉他就是windows上的andriod虚拟机。
必要条件
- windows版本要新!必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。
- 一台支持 Hyper-V 虚拟化的计算机
安装WSL2
在 Windows 10 上安装 WSL 2 的过程非常简单:
在管理员 PowerShell 或 Windows 命令提示符中输入此命令,然后重启计算机来安装运行适用于 Linux 的 Windows 子系统 (WSL) 所需的全部内容。
wsl --install
命令将启用所需的可选组件,下载最新的 Linux 内核,将 WSL 2 设置为默认值,并安装 Linux 发行版(默认安装 Ubuntu,请参阅下文更改此设置)。
首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,要求你等待将文件解压缩并存储到计算机上。 未来的所有启动时间应不到一秒。
上述命令仅在完全未安装 WSL 时才有效,如果运行 wsl --install
并查看 WSL 帮助文本,请尝试运行 wsl --list --online
以查看可用发行版列表并运行 wsl --install -d
以安装发行版。 若要卸载 WSL,请参阅卸载旧版 WSL 或注销或卸载 Linux 发行版。
安装报错
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel
原因分析:WSL版本由原来的WSL1升级到WSL2后,内核没有升级
下载安装更新:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
再次启动ubuntu子系统即可!或者继续执行: wsl --install -d Ubuntu
,等待安装完成。
启动WSL2
怎么启动呢?当然,就是在终端直接输入wsl
即可。
WSL2 PK Cygwin
WSL2和Cygwin有何分别?UoW像是一个反过来的wine,差不多是个Linux emulator。原生的Ubuntu应用程序不需要做任何修改,不需要重新编译,就可以直接在WSL2上运行。WSL2可以看成虚拟机+Linux发行版。
而Cygwin所支持的开源应用程序,都是要把源代码拿过来重新编译的。
边栏推荐
猜你喜欢
随机推荐
写一个简单的网站步骤
暴力递归到动态规划 08(小马走象棋)
使用VSCode中遇到的问题及解决办法
7.31
风电场运营实践 | 麒麟信安助力国华投资山东公司集控中心实现安全智慧化运营
通力传动递交注册:年营收4.7亿 实控人项献忠家族色彩浓厚
一个循环,两个循环问题的思考及复现
自己做的选择
”QSqlDatabasePrivate::removeDatabase: connection ‘test-connect‘ is still in use“数据库多次打开报错
浅谈敏捷开发
EasyGBS播放器优化:设备通道视频播放出现跳屏问题的修复
线上交流丨稀疏神经网络:实践和理论(青源Talk第23期 汪张扬)
11-security认证.md
js垃圾回收机制
常见钓鱼手法及防范
8 个常用的 Wireshark 使用技巧,一看就会
如何让优炫数据库开机自启
10-security登录
php提示Array to string conversion
49. 字母异位词分组-排序法