Gcc 什么';DLDFLAGS和LDFLAGS之间的区别是什么

Gcc 什么';DLDFLAGS和LDFLAGS之间的区别是什么,gcc,linker,makefile,ldflags,Gcc,Linker,Makefile,Ldflags,一个简短的问题。我在一个示例Makefile中找到了“DLDFLAGS”和“LDFLAGS”。使用的编译器是gcc。看起来它们都是用于链接器的。我想知道它们之间有什么区别。LDFLAGS通常设置为包含传递给链接器的选项(因此可能包括所需的库)。与CFLAGS一起,这些变量通常被设置为开发人员环境变量的一部分,并且make将了解它们,因此将积极查看它们是否已设置,并将它们传递给编译器 例如,如果我在我的环境中将CFLAGS设置为-O2-Wall,那么如果我在没有Makefile的情况下键入make

一个简短的问题。我在一个示例Makefile中找到了“DLDFLAGS”和“LDFLAGS”。使用的编译器是gcc。看起来它们都是用于链接器的。我想知道它们之间有什么区别。

LDFLAGS
通常设置为包含传递给链接器的选项(因此可能包括所需的库)。与
CFLAGS
一起,这些变量通常被设置为开发人员环境变量的一部分,并且
make
将了解它们,因此将积极查看它们是否已设置,并将它们传递给编译器

例如,如果我在我的环境中将
CFLAGS
设置为
-O2-Wall
,那么如果我在没有Makefile的情况下键入
make hello
,make将自动调用编译器作为
gcc-O2-Wall hello.c-o hello.o
。然后它将以类似的方式调用链接器,将
LDFLAGS
中的标志添加到命令行

Makefiles可以显式覆盖
LDFLAGS
CFLAGS


另一方面,
DLDFLAGS
不是一个众所周知/定义的变量,因此它可能特定于特定的Makefile。您必须阅读Makefile才能了解它是如何使用的。例如,如果设置了
LDFLAGS
,它可能会定义要使用的链接器标志-请阅读Makefile以确定是否正确。

DLDFLAGS不是定义名为“LDFLAGS”的宏的预编译器标志吗

从gcc手册:

-D名称

Predefine name as a macro, with definition 1

我想可能是动态链接器标志。我在网上找不到确切的信息。您能告诉我们
DLDFLAGS
的值是多少吗?