发布网友 发布时间:2024-10-24 15:23
共1个回答
热心网友 时间:2024-10-30 04:57
Xcode,版本4.6.3,内置了创建C++项目的功能,操作步骤如下:首先打开Xcode并新建项目,选择OS X中的Application内的Command Line Tool选项,然后在项目设置中选择Type为C++。若不需要使用自动引用计数(ARC),取消勾选C++选项。完成这些步骤后,即可在Xcode中创建一个基础的C++项目。
值得注意的是,Xcode默认使用的C++编译器是Apple LLVM Compiler(4.6.3版本为4.2),默认标准库为libc++,已支持C++11标准(先前的C++0x)。Xcode同时提供了LLVM GCC编译器,其附带的C++标准库为libstdc++。在引入第三方库时,需特别注意选择,例如OpenCV可能需要将标准库设置为libstdc++。
如果选择不使用IDE,直接通过命令行编译C++项目也很容易,只需要使用编译器即可。
接下来,我们简要介绍C++的编译过程。编译过程包含预处理、编译和链接等步骤,目的是从源代码生成可执行文件。compiling仅是整个build过程的一部分,但人们经常会误将compile视为整个过程。通常情况下,这些步骤由编译器自动完成,无需单独运行命令。
Mac上默认拥有LLVM和GCC两大编译工具。
LLVM起源于“Low Level Virtual Machine”项目,由Chris Lattner和Vikram Adve于2000年在伊利诺伊大学厄巴纳-香槟分校开始。2005年Apple雇佣了Chris Lattner,组建团队专注于LLVM在Apple开发系统上的应用。目前,LLVM是MacOS和iOS开发工具的关键组成部分。
LLVM项目是一个综合项目,包括了一系列与开发工具相关的技术,如编译器Clang、调试器LLDB、JIT系统VMKit、优化器DragonEgg等。
GCC,全称为GNU Complier Collection,是GNU项目的核心组成部分,由自由软件之父Richard Stallman于1983年发起。GCC最初只支持C语言编译,1.0版本后开始支持C++,随后支持了Objective-C、Objective-C++、Fortran、Java、Ada、Go等其他语言。
选择LLVM或GCC取决于具体需求。GCC历史悠久,支持范围广泛,许多开源项目直接使用GCC作为编译器。而LLVM相较于GCC的优势在于:编译速度快、内存占用小、模块化设计易于集成及其他用途的重用、诊断信息可读性强、设计清晰简单、易于理解和扩展。通过GCC和Clang的相应编译选项,可以查看build过程的各个步骤,如仅执行预处理、编译阶段或生成对应名称的对象文件等。
关于GCC和Clang的编译选项,通过man gcc和man clang可以获取更多详细信息。