You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Makefile使用指定GCC参数编译三个C程序

编写对应的Makefile方案

没问题,我来帮你写这个Makefile,既能复用你指定的编译选项,又能高效编译这三个程序:

# 定义编译器路径
CC = /usr/bin/gcc

# 定义编译选项,完全复用你给出的参数
CFLAGS = -pthread -O2 -fmessage-length=0 -pedantic-errors -std=gnu99 \
         -Werror -Wall -Wextra -Wwrite-strings -Winit-self -Wcast-align \
         -Wcast-qual -Wpointer-arith -Wstrict-aliasing -Wformat=2 \
         -Wmissing-include-dirs -Wno-unused-parameter -Wshadow \
         -Wuninitialized -Wold-style-definition

# 要生成的三个可执行文件列表
TARGETS = abc pqr xyz

# 默认目标:编译所有可执行文件
all: $(TARGETS)

# 通用编译规则:每个可执行文件依赖对应的.c源文件
$(TARGETS): %: %.c
	$(CC) $(CFLAGS) $< -o $@

# 清理生成的可执行文件的目标(可选,方便清理)
clean:
	rm -f $(TARGETS)

说明:

  • 把编译器和编译选项定义成变量CC和CFLAGS,后续修改参数或编译器路径时只需要改一处,维护起来更方便
  • TARGETS变量列出了所有要生成的可执行文件,默认执行make时会编译全部
  • 通用规则$(TARGETS): %: %.c是Makefile的模式匹配语法,会自动为每个.c文件生成对应的可执行文件,不用重复写三次编译规则
  • 可选的clean目标可以用来快速清理生成的可执行文件,执行make clean即可

内容的提问来源于stack exchange,提问作者Hyuga Hinata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:44:31