在CentOS系统下编写一个简单的GCC编译脚本可以帮助你自动化编译C或C++程序。以下是一个基本的示例,展示了如何编写一个Shell脚本来使用GCC编译C程序。
创建一个C源文件:
首先,创建一个C源文件。例如,创建一个名为hello.c
的文件,并添加以下内容:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
编写编译脚本:
接下来,创建一个Shell脚本来编译这个C文件。例如,创建一个名为compile.sh
的文件,并添加以下内容:
#!/bin/bash
# 定义源文件和目标文件
SOURCE_FILE="hello.c"
OBJECT_FILE="hello.o"
EXECUTABLE="hello"
# 清理之前的编译文件
clean() {
if [ -f $OBJECT_FILE ]; then
rm -f $OBJECT_FILE
fi
if [ -f $EXECUTABLE ]; then
rm -f $EXECUTABLE
fi
}
# 编译源文件
compile() {
gcc -c $SOURCE_FILE -o $OBJECT_FILE
if [ $? -eq 0 ]; then
echo "Compilation successful!"
gcc $OBJECT_FILE -o $EXECUTABLE
if [ $? -eq 0 ]; then
echo "Linking successful!"
echo "You can run the program by typing: $EXECUTABLE"
else
echo "Linking failed!"
fi
else
echo "Compilation failed!"
fi
}
# 主逻辑
case "$1" in
clean)
clean
;;
compile)
compile
;;
*)
echo "Usage: $0 {clean|compile}"
exit 1
esac
赋予脚本执行权限:
使用chmod
命令赋予脚本执行权限:
chmod +x compile.sh
运行脚本: 现在你可以运行脚本来编译你的C程序:
./compile.sh compile
如果你想清理之前的编译文件,可以运行:
./compile.sh clean
这个脚本包含了一些基本的错误处理和清理功能。你可以根据需要扩展它,例如添加更多的编译选项、支持多个源文件等。