gcc、g++和gdb

1 gcc概念

GNU计划打算开发一款完全开源的操作系统,但是比不上同期的Linux。因此采用了Linux的内核作为GNU操作系统的内核,并在此基础上开发了很多组件,GCC就是其中之一。
GCC(GNU C Compile)作文早起的C语言的编译器,后期支持可以作为多语言的编译器。

2 gcc编译器下载和安装

一般Linux操作系统自带GCC编译器,可以通过键入一下命令来查看本机的版本
gcc --version

3 gcc与g++的区别

gcc既可以编译C程序也可以编译C++文件,g++是专门用来编译C++文件。
对于 .c 文件来说,gcc 指令以 C 语言代码对待,而 g++ 指令会以 C++ 代码对待。但对于 .cpp 文件来说,gcc 和 g++ 都会以 C++ 代码的方式编译。
C++标准对代码要求更严格,gcc编译可能不会出现错误,但是g++编译会检查出错
很多C++程序都会调用某些标准库中现有的函数或者类对象,gcc需要手动添加链接的标准库,g++可以自动链接进行编译
总结:
gcc推荐来编译c程序,g++推荐编译c++代码

4 gdb概念

GDB 全称“GNU symbolic debugger”,是 Linux 下常用的程序调试器。GDB 更常用来调试 C 和 C++ 程序。
可以通过gdb -v来查看当前是否安装了gdb。

### 安装 GCCG++ GDB 的方法 #### 在 Linux 上安装 GCCG++ GDB 在大多数基于 Debian 或 Ubuntu 的 Linux 发行版中,可以通过 `apt` 包管理器来安装 GCCG++ GDB。以下是具体的命令: ```bash sudo apt update sudo apt install build-essential gdb ``` 上述命令会自动安装 GCCG++ 以及调试工具 GDB[^1]。 如果需要指定特定版本的 GCC G++,可以使用以下命令来查看可用版本并切换到所需的版本: ```bash sudo update-alternatives --config gcc sudo update-alternatives --config g++ ``` 这允许用户手动选择默认使用的 GCC G++ 版本。 #### 在 macOS 上安装 GCCG++ GDB 对于 macOS 用户,推荐通过 Homebrew 来安装 GCCG++ GDB。Homebrew 是一个流行的包管理器,用于简化软件的安装过程。首先确保已安装 Homebrew,然后运行以下命令: ```bash brew install gcc gdb ``` 需要注意的是,在 macOS 中,默认情况下不会提供名为 `gcc` 的二进制文件,而是将其命名为类似于 `gcc-12`(具体取决于版本号)。因此,可能需要创建符号链接以便更方便地调用编译器: ```bash ln -s /usr/local/bin/gcc-12 /usr/local/bin/gcc ln -s /usr/local/bin/g++-12 /usr/local/bin/g++ ``` 关于 GDB 的使用,由于安全原因,macOS 默认不允许未签名的调试程序访问进程内存。为了使 GDB 正常工作,需对其进行代码签名,并赋予其辅助功能权限[^2]。 #### 编译器支持的标准 无论是在 Linux 还是 macOS 平台上,GCC/G++ 都提供了对多个编程标准的支持,例如 C89、C99、C11、C++98、C++11、C++14 C++17 等。开发者可以根据项目需求选择合适的编译选项[^3]。 --- ### 示例验证环境配置 假设已经完成安装操作,则可通过如下方式测试是否成功部署了所需组件: ```bash # 测试 GCC 是否正常工作 gcc --version # 测试 G++ 是否正常工作 g++ --version # 测试 GDB 是否正常工作 gdb --version ``` 以上命令应返回各自工具的具体版本信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值