在windows 10上通过wsl2运行linux原生c代码:启用wsl --install并重启,ubuntu中安装build-essential等工具,用/mnt/访问windows文件或复制到~/project编译,vs code通过remote-wsl扩展实现一键开发。

在Windows 10上直接编译运行Linux原生C语言源码,核心是绕过Windows的PE格式和MSVC运行时限制,让代码在真实Linux环境里完成编译与执行——不靠模拟器、不改源码、不手动移植,只用系统自带功能就能跑通。
启用并安装WSL2子系统
以管理员身份打开PowerShell,执行:
wsl --install
该命令会自动启用虚拟机平台、Windows子系统Linux、Linux内核更新包三项功能,并默认下载安装Ubuntu发行版。安装完成后必须重启电脑,否则后续步骤无法继续。
重启后,在开始菜单中打开“Ubuntu”,首次启动会要求设置Linux用户名和密码——【这个账户与Windows账户完全独立,且仅对该发行版生效】。
配置Linux编译环境
在Ubuntu终端中依次执行:
sudo apt update && sudo apt install -y build-essential gdb valgrind
build-essential 包含 gcc、g++、make、dpkg-dev 等全套开发工具,gdb 和 valgrind 是调试与内存检测必需组件。如果跳过 valgrind,后续排查段错误将失去关键手段。
验证安装是否成功:
gcc --version
输出应显示类似 gcc (Ubuntu 12.3.0-1ubuntu1~24.04) 12.3.0 的版本信息,说明编译链已就绪。
通过 SSH 隧道从 Android 设备在互联网上对 Windows PC 实现完整远程控制的设置与使用指南,适用于远程桌面访问、安全 RDP 等。
访问并编译Windows中的C源码
Windows磁盘在WSL中挂载于 /mnt/ 目录下:C盘为 /mnt/c/,D盘为 /mnt/d/,以此类推。
假设你的C文件 main.c 存放在 D:\code\hello\ 目录中,则在Ubuntu终端中执行:
cd /mnt/d/code/hello → gcc main.c -o hello → ./hello
这三步操作必须严格按顺序执行:先进入目录,再编译,最后运行。若跳过 cd 直接用绝对路径调用 gcc,可能因相对路径头文件引用失败而报错。
注意:不要在 /mnt/ 下的目录中使用 make clean 或生成大量临时文件,【频繁读写Windows文件系统会导致WSL2性能骤降,编译速度可能比原生Linux慢3倍以上】。建议将代码复制到Linux根文件系统(如 ~/project)后再编译。
VS Code一键连接WSL开发
方法一:已安装VS Code桌面版
在Windows端打开任意 .c 文件 → 右下角点击“Open in WSL” → 选择已安装的Ubuntu发行版 → 自动重载窗口并启动Remote-WSL扩展。
方法二:未安装VS Code或需多发行版支持
在Ubuntu终端中运行:
code .
该命令会自动触发Windows端VS Code启动,并连接当前WSL工作区。此时所有编辑、编译、调试操作都在Linux环境中实时执行,终端输出、断点、变量监视全部原生可用。
首次运行 code . 时,VS Code会自动安装“Remote - WSL”扩展,无需手动干预。若提示“command 'code' not found”,请在Ubuntu中执行:
sudo apt install -y code
13万字C语言保姆级教程(深入):立即使用
在学习笔记中,你将探索c语言的核心概念和高级技巧!










