目录
安装编译器
确保安装了 gcc(用于 C 程序)和 g++(用于 C++ 程序)编译器:
sudo apt update
sudo apt install build-essential # 安装 GCC 和 G++ 编译器
一.c
编译+运行(粗暴简单)
使用 gcc 编译器编译程序,并生成一个可执行文件。
gcc hello.c -o hello
编译成功后,运行生成的可执行文件:
./hello
输出:Hello, Ubuntu! (C)
1.编写 C 程序:
nano hello.c 打开或创建
输入以下代码:
#include <stdio.h>
int main() {
printf("Hello, Ubuntu! (C)\n");
return 0;
}
2. 预处理:
gcc -E hello.c -o hello.i
-E:仅执行预处理步骤。
hello.i:预处理后的输出文件。
3.编译:
gcc -S hello.i -o hello.s
-S:生成汇编代码。
hello.s:汇编代码文件。
4. 汇编:
gcc -c hello.s -o hello.o
-c:生成目标文件(二进制)。
hello.o:目标文件。
5. 链接:
gcc hello.o -o hello
将目标文件链接为可执行文件。
运行程序:
6.运行
./hello
输出:Hello, Ubuntu! (C)
二.c++
编译+运行(粗暴简单)
使用 g++ 编译器编译程序,并生成一个可执行文件。
g++ hello.cpp -o hello_cpp
编译成功后,运行生成的可执行文件:
./hello_cpp
输出:Hello, Ubuntu! (C++)
1.编写 C++ 程序:
nano hello.cpp 打开或创建
输入以下代码:
#include <iostream>
int main() {
std::cout << "Hello, Ubuntu! (C++)" << std::endl;
return 0;
}
2.预处理:
g++ -E hello.cpp -o hello.ii
-E:仅执行预处理步骤。
hello.ii:预处理后的输出文件。
3.编译:
g++ -S hello.ii -o hello.s
-S:生成汇编代码。
hello.s:汇编代码文件。
4.汇编:
g++ -c hello.s -o hello.o
-c:生成目标文件(二进制)。
hello.o:目标文件。
5. 链接:
g++ hello.o -o hello_cpp
将目标文件链接为可执行文件。
6.运行程序:
./hello_cpp
输出:Hello, Ubuntu! (C++)
三 . 关键区别
编译器:
C 程序使用 gcc。
C++ 程序使用 g++。
文件扩展名:
C 程序通常使用 .c 扩展名。
C++ 程序通常使用 .cpp 或 .cc 扩展名。
头文件:
C 程序使用 #include <stdio.h>。
C++ 程序使用 #include <iostream>。
四. 其他注意事项
调试:可以使用 gdb 调试编译后的程序。
sudo apt install gdb
gdb ./hello
优化:在编译时添加 -O2 或 -O3 标志以启用优化。
gcc -O2 hello.c -o hello
多文件编译:如果有多个源文件,可以一起编译:
gcc file1.c file2.c -o program