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

请教:给定Makefile中的INC变量具体用途是什么?

MF= Makefile_c #Makefile文件名
CC= cc #使用的编译器
CFLAGS= -g #编译标志
LFLAGS= -lm #链接阶段使用的标志
EXE= hello #可执行文件名称
INC= \ # ??? 该变量的用途是什么????
# 当前无自定义头文件,如有需求可在此列出
# 源文件名
SRC= \
hello.c
# 删除默认后缀
.SUFFIXES:
# 定义目标后缀
.SUFFIXES: .c .o
OBJ= $(SRC:.c=.o) # 用于生成目标文件名称
关于Makefile中INC变量的说明

嘿,我来给你拆解这个INC变量的作用:

  • 本质作用:INC是Makefile里的常规预留变量,专门用来存放自定义头文件的搜索路径。
  • 当前状态:你的这个Makefile里它是空的(后面的反斜杠是用来换行延续变量定义的,但没跟上实际路径),因为注释里也提到“当前无自定义头文件”,所以暂时没发挥作用。
  • 实际使用场景:
    当你的项目里有自己编写的头文件,且这些头文件不在系统默认头文件目录(比如/usr/include),也不在当前编译的工作目录下时,就需要用它来指定路径。比如你的头文件都放在./my_headers目录下,就可以这样写:
    INC= -I./my_headers
    
    然后把INC整合到编译标志里:
    CFLAGS= -g $(INC)
    
    这样编译器在编译源文件时,就会自动去./my_headers目录里找你引用的自定义头文件了。
  • 设计意义:提前预留这个变量,是为了后续项目扩展时更方便——以后加了自定义头文件,直接修改INC就行,不用去翻找编译参数的位置,让Makefile结构更清晰易维护。

内容的提问来源于stack exchange,提问作者Clumsy cat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:32:03