MSVC、MINGW,gcc、g++,qmake、cmake 这些是什么关系?

关系梳理:

  1. 编译器(做菜的大厨):
    • MSVC:微软家的“大厨”,专门在Windows厨房里做C/C++的菜(编译代码)。
    • gcc/g++:开源界的“全能大厨”,C用gcc,C++用g++,常见于Linux厨房,但通过MinGW也能在Windows厨房做菜。
  2. 编译环境(厨房):
    • MinGW:一个“Windows改装厨房”,让gcc/g++能在Windows环境下工作(提供GNU工具链的Windows移植)。
  3. 构建工具(写菜谱的人):
    • qmake:Qt框架自带的“菜谱作者”,专门为Qt项目写菜谱(生成Makefile)。
    • CMake:跨平台“智能菜谱作者”,能根据不同的厨房(Windows/Linux)自动生成对应的菜谱(如Makefile或VS工程)。

Java版比喻:

假设你是个Java开发者,现在要炒一盘“代码菜”:

  • javac:相当于大厨(编译器),负责把Java源代码(生肉)炒成字节码(熟菜)。
  • Maven/Gradle:相当于写菜谱的人(构建工具),告诉你什么时候放盐(依赖库),什么时候翻炒(编译顺序)。
  • JDK版本:比如Oracle JDK和OpenJDK,就像不同的厨房(编译环境),虽然都能用javac炒菜,但锅具和调料(底层实现)可能略有不同。

白话总结:

  • MSVC和MinGW:两种不同的“厨房”,一个专供Windows,一个让Linux大厨(gcc)也能在Windows做饭。
  • gcc/g++:真正炒菜的“大厨”,看菜谱(构建工具)的指示干活。
  • qmake/CMake:写菜谱的人,qmake专做Qt菜,CMake更万能,能适应所有厨房。
  • Java版:用Maven点菜(pom.xml),告诉javac大厨怎么炒,而选Oracle还是OpenJDK就像选不同的厨房供应商。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值