当前位置: 首页 > news >正文

2.1 Windows编译环境介绍

一、Windows四个主要编译工具套件

  1. MSVCWindows原生编译套件,Microsoft Visual C++,VS2019默认使用,编译生成原生Windows程序。
  2. Cygwin:不仅移植GCC,还移植了Linux命令(如ls、mkdir、clear),依赖cygwin1.dll模拟POSIX层,兼容性和移植性更好,适合Linux软件移植。
  3. MinGW:GCC编译工具链在Windows平台的移植,生成原生Windows程序,不依赖cygwin1.dll。
  4. MSYS2:结合MinGW的GCC和Cygwin的配套工具,注重生成原生Windows应用,命令基于Cygwin修改,C运行时库使用MSVCR。

二、工具套件的区别与兼容性

  • MinGW的gcc.exe不依赖cygwin1.dll,生成原生Windows程序。
  • Cygwin的gcc.exe依赖cygwin1.dll,提供POSIX模拟层,支持fork、spawn、signals等Linux特性。
  • MSYS2使用MinGW的gcc,命令工具基于Cygwin修改。
  • 这些工具主要用于生成Windows平台的lib(静态库)、dll(动态库)、exe(可执行文件),不能生成Linux ELF格式文件。
  • 混用不同编译器可能导致ABI兼容问题,如MinGW生成的dll给MSVC使用时。
http://www.xdnf.cn/news/906121.html

相关文章:

  • Caliper 配置文件解析:config.yaml
  • 加密货币钱包开发指南:多链资产管理与非托管安全范式
  • 关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
  • Appium+python自动化(十一)- 元素定位- 下
  • 串:探索 KMP 算法的高效模式匹配之旅
  • Nestjs框架: nestjs-schedule模块注册流程,源码解析与定时备份数据库
  • 【通义万相 Wan2.1】在并行智算云上的部署教程
  • 跨分割信号的回流路径处理
  • 毫米波雷达基础理论(3D+4D)
  • 【Servo】信号激励;激励数据、采集数据、跟踪数据
  • 我爱学算法之—— 前缀和(中)
  • 进程的详解,命令行参数,程序的地址空间(Linux)
  • 学习日记-day23-6.6
  • C++11异常特性
  • 如何计算光伏工程造价预算表?
  • YUM仓库编译出现`conflicting requests`问题解决方案
  • [Java恶补day17] 41. 缺失的第一个正数
  • AirSim/Cosys-AirSim 游戏开发(三)打包可执行文件
  • spring获取注册的bean并注册到自定义工厂中管理
  • 【大模型】大模型数据训练格式
  • 光纤采集系统
  • grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
  • 【计算机网络】HTTP
  • 安徽省N1 叉车司机考试题及答案解析
  • webui无法注册如何配置
  • volka 25个短语动词
  • Android动态广播注册收发原理
  • (4-point Likert scale)4 点李克特量表是什么
  • 基于cornerstone3D的dicom影像浏览器 第二十九章 自定义菜单组件
  • openvino使用教程