LDFLAGS通常设置为包含传递给链接器的选项(因此可能包括所需的库).与之一起CFLAGS,这些通常被设置为开发人员环境变量的一部分,make并将了解它们,因此将主动查看它们是否已设置并将它们传递给编译器.
例如,如果我CFLAGS在我的环境中设置为-O2 -Wall,那么如果我输入make hello没有Makefile,make会自动调用编译器gcc -O2 -Wall hello.c -o hello.o.然后它将以类似的方式调用链接器,将标志添加LDFLAGS到命令行.
Makefile可以显式覆盖LDFLAGS和CFLAGS.
DLDFLAGS另一方面,它不是一个众所周知/定义的变量,因此它可能特定于该特定的Makefile.您必须阅读Makefile以了解它是如何使用的.例如,它可以定义要LDFLAGS设置的链接器标志- 读取Makefile以确定.