在 Linux 系统中,编译代码通常涉及使用编译器(如 gcc、g++、clang)或构建工具(如 make、cmake)。以下是常见场景的编译命令和示例:
gcc hello.c -o hello # 编译 hello.c,生成可执行文件 hello
./hello # 运行程序
g++ hello.cpp -o hello # 编译 hello.cpp,生成可执行文件 hello
./hello
-O2: 优化代码性能-Wall: 显示所有警告-g: 添加调试信息(用于 gdb)-I/path: 指定头文件路径-L/path -llib: 链接库文件gcc -Wall -O2 -I/usr/local/include -L/usr/local/lib -lmylib hello.c -o hello
gcc main.c utils.c -o program # 编译多个源文件
CC = gcc
CFLAGS = -Wall -O2
TARGET = myprogram
all: $(TARGET)
$(TARGET): main.c utils.c
$(CC) $(CFLAGS) $^ -o $@
clean:
rm -f $(TARGET)
make # 编译
make clean # 清理生成的文件
cmake_minimum_required(VERSION 3.10)
project(MyProject)
add_executable(myprogram main.c utils.c)
mkdir build && cd build # 创建构建目录
cmake .. # 生成 Makefile
make # 编译
./myprogram # 运行
javac Hello.java # 编译
java Hello # 运行
go build hello.go # 编译
./hello # 运行
rustc hello.rs # 编译
./hello # 运行
bash
ldd ./hello # 检查可执行文件的依赖库bash
sudo apt install build-essential # Ubuntu/Debian 基础开发工具
sudo yum groupinstall "Development Tools" # CentOS/RHEL找不到头文件:
-I 指定路径,或安装开发包(如 libxxx-dev)。链接库失败:
-L 指定库路径,-l 指定库名(如 -lm 链接数学库)。权限问题:
bash
chmod +x hello根据你的项目类型选择合适的工具和命令。如果是复杂项目,建议使用 make 或 cmake 管理编译流程。