当前位置:网站首页>常用工具链和虚拟环境-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所支持的开源应用程序,都是要把源代码拿过来重新编译的。
边栏推荐
- js垃圾回收机制
- UPC2022暑期个人训练赛第23场(Credit Card Payment)
- 【SQL】—数据库操作、表操作
- 华为防火墙双机热备技术:HRP、VGMP、VRRP,三大技术值得一学!
- Violent recursion to dynamic programming 06 (the sword refers to Offer II 095. Longest common subsequence)
- VS2010 组件列表与对应名称
- 麒麟信安邀您抢先看 | openEuler 志高远,开源汇智创未来-开放原子全球开源峰会欧拉分论坛最详细议程出炉
- 全栈---JSONP
- 国标GB28181协议EasyGBS平台项目现场通知消息过多导致系统卡顿该如何解决?
- .NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)
猜你喜欢

什么情况下DigiCert证书会引起发生安全警报?

开源聚力,共创未来 | 麒麟信安祝贺openKylin首个体验版正式发布!

236. The binary tree in recent common ancestor

lombok 下的@Builder和@EqualsAndHashCode(callSuper = true)注解

mysql容器数据卷持久化

吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第二节:神经网络基础(上)

线上交流丨稀疏神经网络:实践和理论(青源Talk第23期 汪张扬)

initramfs详解----设备文件系统

吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第一节:深度学习概论

优秀的 Verilog/FPGA开源项目总结及交流群
随机推荐
”QSqlDatabasePrivate::removeDatabase: connection ‘test-connect‘ is still in use“数据库多次打开报错
阿南的对话
有趣简单的M2处理器性能实验:Swift与C代码执行速度的比较
一个接口并发问题的模拟与复现
JS做一个接近无限时长的滚动条
GTK实现水波纹效果
PHICOMM(斐讯)N1盒子 - recovery模式救砖卡登录页LOGO卡1%卡4%卡26%
个人开发者必备,免费 API 网关工具推荐
2022 开放原子全球开源峰会 | 麒麟信安携手openEuler助力开源产业繁荣发展
Violence recursion to dynamic programming 08 (pony go chess)
HCIP第十二天_二层MPLS实验
PAT甲级 1051 Pop Sequence
【SQL】—数据库操作、表操作
封装和练习题目
如何准备考pmp?
不想当Window的Dialog不是一个好Modal,弹窗翻身记...
文树勋率长沙市人大常委会主任会议成员莅临麒麟信安调研数字经济发展情况
236. The binary tree in recent common ancestor
VS Code 这么牛,再次印证了一句名言
使用VSCode中遇到的问题及解决办法