📜  用g ++编译(1)

📅  最后修改于: 2023-12-03 15:27:09.400000             🧑  作者: Mango

使用 g++ 编译 C++ 程序

什么是 g++?

g++ 是 GNU Compiler Collection 的 C++ 编译器,它是一个开源的编译器,适用于 GNU/Linux、MacOS、Windows 等多个平台,可以编译 C++ 语言编写的程序。

安装 g++

在大多数 Linux 发行版上,g++ 已经包含在 gcc 包中了。如果你的系统上还没有安装 g++,可以通过以下命令在 Ubuntu/Debian 上安装:

sudo apt-get install g++

在 Fedora/CentOS 上安装:

sudo yum install gcc-c++

在 MacOS 上安装可以使用 homebrew:

brew install g++
使用 g++ 编译程序
编译一个文件

使用 g++ 编译一个简单的程序(例如 hello.cpp),我们可以使用以下命令:

g++ -o hello hello.cpp

这将把 hello.cpp 文件编译成 hello 可执行文件。

指定 C++ 版本

有时候我们需要指定 C++ 的版本,可以使用 -std 选项来指定。比如指定使用 C++11:

g++ -std=c++11 -o hello hello.cpp
调试信息

如果需要开启调试信息,可以使用 -g 选项:

g++ -g -o hello hello.cpp
多个文件

如果我们需要编译多个文件,可以将它们一起编译。比如我们需要编译 hello.cppworld.cpp 这两个文件:

g++ -o hello hello.cpp world.cpp
处理头文件

如果我们需要编译需要包含头文件的程序,需要指定头文件存储路径。比如头文件存储在 /usr/local/include 目录下:

g++ -o hello hello.cpp -I/usr/local/include
静态库和动态库

在编译程序时,我们需要链接静态库或动态库。可以使用 -l 选项指定库名,使用 -L 选项指定库文件存储路径。比如链接名为 libmath.so 的动态库:

g++ -o hello hello.cpp -L/usr/lib -lmath
示例

一个简单的示例:

#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

使用 g++ 编译:

g++ -o hello hello.cpp

执行:

./hello

输出:

Hello, world!