当前位置:网站首页>常用工具链和虚拟环境-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所支持的开源应用程序,都是要把源代码拿过来重新编译的。
边栏推荐
猜你喜欢
236. The binary tree in recent common ancestor
Brute force recursion to dynamic programming 07 (516. Longest palindrome subsequence)
阿里云增强版实人认证--银行卡要素核验
吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第二节:神经网络基础(上)
作业8.2 线程同步互斥机制——互斥锁
VS Code 这么牛,再次印证了一句名言
initramfs详解----设备文件系统
HCIP第十二天_二层MPLS实验
暴力递归到动态规划 07(516. 最长回文子序列)
软件测试从业多年,自认为技术不错,裸辞:一晃 ,失业3个月了~
随机推荐
.NET in-depth analysis of the LINQ framework (four: IQueryable, IQueryProvider interface details)
ES6 新特性:Class 的基本语法
线上交流丨稀疏神经网络:实践和理论(青源Talk第23期 汪张扬)
【图像分类】2021-EfficientNetV2 CVPR
微信小程序--》条件与列表渲染以及WXSS模板样式
聊聊 Nacos
如何备考PMP才能一次通过?
代码工具推荐
JSP第一篇 -----JSP九大内置对象(隐式对象)和四大域对象
优秀的 Verilog/FPGA开源项目总结及交流群
大厂标配 | 百亿级并发系统设计 | 学完薪资框框涨
什么情况下DigiCert证书会引起发生安全警报?
项目管理到底管的是什么?
1686. 石子游戏 VI
11-security认证.md
【社媒营销】Facebook速推帖子如何运作?值得吗?
VS2010 组件列表与对应名称
软件测试从业多年,自认为技术不错,裸辞:一晃 ,失业3个月了~
面试题整理1
【飞控开发高级教程1】疯壳·开源编队无人机-飞控整机代码走读、编译与烧写