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