在CentOS系统下编写GCC编译脚本可以帮助你自动化编译过程,提高开发效率。以下是一个基本的指南,帮助你编写一个简单的GCC编译脚本。
首先,创建一个新的脚本文件。你可以使用任何文本编辑器,比如vim、nano等。
vim compile.sh
在脚本文件中,编写以下内容:
#!/bin/bash
# 设置编译器
CC=gcc
# 设置编译选项
CFLAGS=-Wall -g
# 设置源文件和目标文件
SRCS=main.c foo.c bar.c
OBJS=$(SRCS:.c=.o)
TARGET=myprogram
# 编译规则
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 清理规则
clean:
rm -f $(OBJS) $(TARGET)
# 帮助信息
help:
@echo "Usage: make [target]"
@echo "Targets:"
@echo " all Compile the program"
@echo " clean Remove object files and the executable"
@echo " help Display this help message"
#!/bin/bash: 指定脚本解释器为bash。CC=gcc: 设置编译器为gcc。CFLAGS=-Wall -g: 设置编译选项,-Wall表示显示所有警告,-g表示生成调试信息。SRCS=main.c foo.c bar.c: 列出所有源文件。OBJS=$(SRCS:.c=.o): 将源文件列表中的.c扩展名替换为.o,生成目标文件列表。TARGET=myprogram: 设置目标可执行文件的名称。all: $(TARGET): 定义默认目标为编译生成可执行文件。$(TARGET): $(OBJS): 定义如何生成目标文件。%.o: %.c: 定义如何从源文件生成目标文件。clean:: 定义清理规则,删除生成的目标文件和可执行文件。help:: 定义帮助信息。保存脚本文件并退出编辑器。如果你使用的是vim,可以按Esc键,然后输入:wq并按回车键。
使用chmod命令赋予脚本执行权限。
chmod +x compile.sh
现在你可以运行脚本来编译你的程序。
./compile.sh
如果你更喜欢使用Makefile来管理编译过程,可以创建一个Makefile文件,内容如下:
CC=gcc
CFLAGS=-Wall -g
SRCS=main.c foo.c bar.c
OBJS=$(SRCS:.c=.o)
TARGET=myprogram
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(OBJS) $(TARGET)
help:
@echo "Usage: make [target]"
@echo "Targets:"
@echo " all Compile the program"
@echo " clean Remove object files and the executable"
@echo " help Display this help message"
然后你可以使用make命令来编译程序:
make
通过以上步骤,你可以在CentOS系统下编写一个简单的GCC编译脚本或使用Makefile来管理编译过程。