type
status
date
slug
summary
tags
category
icon
password
拿网络指纹技术来说,学C至少了解其核心库的运行机制是很重要的,可高度自定义TLS握手,不然CF盾都过不了,反代ChatGPT就更加做不到
虽然最轻松跑C环境是在Linux或者WSL上,但有时难免有需求得在windows跑,此时若链接编译些复杂项目,不搭好MSVC环境,单纯用MinGW/Clang还是会有跑不动的情况.关于MSVC环境搭建,网上有些教程可能不够全面或过时,我来做个比较新的补充
为何不用Visual Studio?看个人喜好,用惯了VSCODE不喜欢用别的IDE,想用就用不拦着.这个方法给不想用它的人,喜欢从轻量化开始,减少不可控量,用自己最熟悉的IDE效率是最高的
Visual Studio
下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux 1
免费下载 Visual Studio IDE 或 VS Code。 在 Windows、Mac 上试用 Visual Studio Professional 或企业版。
往下找到"所有下载", Visual Studio 2022 生成工具
VS包管理工具
首页不勾选,点"单个组件",分别搜索MSVC和Windows 11 SDK,选择最新版本,这样就可以做到最小化安装.
- MSVC提供编译器 cl.exe link.exe等基础构建工具
- Windows 11 SDK提供系统头文件和库,向后兼容 Windows 10
可能需要手动添加环境变量,主要是这两个目录下的bin lib include:
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC
C:\Program Files (x86)\Windows Kits\10
简单介绍添加的这几个库用途
- um(User-Mode) : 包含了适用于Windows 用户模式开发的头文件和库
- ucrt(Universal C Runtime) : Windows 平台的通用C运行时库,提供标准C函数(如 printf、malloc)和其他核心功能
- shared : 提供 Windows 头文件和库的共享部分,是许多其他 SDK 组件的基础, 包括常见的 Windows API 头文件(如 windows.h)和一些底层支持库
- WinRT : 提供 Windows 运行时支持,用于访问现代Windows API(如 UWP 和 WinRT 组件)
- CppWinRT : 提供高效、类型安全的C++ API,通常用于 UWP 和 WinRT 应用开发
现在配置好了,刷新环境变量,检查确认cl可用,可正常导入各种头文件
附vscode使用cl的配置.vscode/tasks.json:
.vscode/launch.json:
按F5 编译并运行
在Windows上最好MSVC MinGW LLVM三个都装,以应对一些复杂的项目依赖情况,做好指定不会冲突
MinGW LLVM使用choco一键安装即可
还不了解的看这里
很多人想从HelloWorld开始学习C,但电脑是windows系统,就需要额外安装C的windows环境. 我们现在的目标就是最快速度完成HelloWorld,代码很简单: #include <stdio.h> int main() { printf("Hello, World!\n"); return 0; } 但环境安装过程可能难倒很多人,"错误"的复杂示例(也给上链接,都…
- Author:谢启祥—2049
- URL:https://tangly1024.com/article/example-1
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!