linux下C++编译

linux下C++编译

本文来自http://wiki.ubuntu.org.cn/Compiling_Cpp

C++编译有不同指令,所有指令都需要源码作为输入,根据输出结果不同可以分为以下几类:

  • 生成可执行文件
    单个文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    g++ helloworld.cpp      # 生成a.out的可执行文件
    g++ helloworld.cpp -o helloworld # 自定义可执行文件名


    # g++是gcc的一个特殊版本,链接是使用C++标准库不使用C标准库,可以指定编译库的名称
    gcc helloworld.cpp -lstdc++ -o helloworld
    # 某些系统GCC安装也会有c++,可以替代g++
    c++ helloworld.cpp -o helloworld
    # 执行
    ./xxx.out
    ./xxx

多个文件

1
g++ xxx.cpp xxx.cpp -o xxxx

参数不需要.h文件,只需要.cpp

  • 生成对象文件
    仅编译,不链接城可执行文件,文件名默认与源文件名相同
  • 编译预处理
  • 生成汇编代码