zoukankan      html  css  js  c++  java
  • (gcc/g++)/clang/cl编译器

    IDE: 现在的IDE把编译器集成进来了,包括代码编辑器+编译器。

    GNU:GNU's NOT UNIX,鄙视UNIX不开源)

    GCC----GNU Compiler Collection

    即GUN编译器集合,包括gcc和g++编译器,它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。

    gcc是GCC中的GUN C Compiler(C 编译器)
    g++是GCC中的GUN C++ Compiler(C++编译器)

    是GNU项目的关键部分,亦是自由的类Unix及苹果电脑Mac OS X 操作系统的标准编译器。GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。

    gcc调用了C compiler,而g++调用了C++ compiler

    gcc和g++的主要区别

    1. 对于 .c和.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的)

    2. 对于 .c和.cpp文件,g++则统一当做cpp文件编译

    3. 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL

    Clang

    一个C、C++、Objective-C和Objective-C++编程语言的编译器前端。包括Clang前端和Clang静态分析器等。[3]
    它采用了底层虚拟机(LLVM)作为其后端,目标是提供一个GNU编译器套装(GCC)的替代品。苹果公司的赞助支持下进行开发,而源代码授权是使用类BSD的伊利诺伊大学厄巴纳-香槟分校开源码许可。
    兼容GCC,也是跨平台。

    cl.exe

    cl.exe是Microsoft C/C++编译器(因此也叫VC++ 编译器),只能在支持Microsoft Visual Studio 的操作系统中运行

    还记得在VS安装后会给项目配置lib,include,dll库的目录。那么系统如何去根据目录去找这些文件?
    需要将这些文件路径放到系统的path变量里-----系统默认查找的范围。所以报错"cl.exe没找到",大概率就是这里path没设置好!!!(因为装了VS就自带了cl.exe编译器)

    总结

    Linux系统及跨平台用GNU
    windows用cl,编译内存占用小。

    另外,还有GCC在windows平台的移植版本,Ming-W64和 Cygwin。其中MingW-64是真正的GCC移植,而cygwin只是提供一个类unix的环境内部是原生的GCC。

  • 相关阅读:
    halcon中variation_model_single实例注释.
    vc 实现打印功能
    用VisualC++建立SOAP客户端应用(一)
    第六章
    OpenCV】透视变换 Perspective Transformation(续)
    第六章
    OpenCV仿射变换+投射变换+单应性矩阵
    【最新图文教程】WinCE5.0中文模拟器SDK(VS2008)的配置
    Visual Studio 2008 使用 WinCE 5.0 Emulator
    Win32 CMD批处理命令
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13649105.html
Copyright © 2011-2022 走看看