首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DLDFLAGS和LDFLAGS有什么不同

DLDFLAGS和LDFLAGS有什么不同
EN

Stack Overflow用户
提问于 2012-01-20 03:05:20
回答 2查看 12.5K关注 0票数 6

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

EN

回答 2

Stack Overflow用户

发布于 2012-01-20 03:12:50

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

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

Makefile可以显式覆盖LDFLAGSCFLAGS

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

票数 9
EN

Stack Overflow用户

发布于 2014-01-10 23:44:36

DLDFLAGS不只是一个预编译器标志,它定义了名为"LDFLAGS“的宏吗?

摘自gcc手册:

-D名称

预定义名称为宏,定义为1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8931770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档