gpt4 book ai didi

gcc - 我需要将 CFLAGS 显式传递给 gcc 吗?

转载 作者:行者123 更新时间:2023-12-03 03:36:13 26 4
gpt4 key购买 nike

我阅读了很多有关 CFLAGS 的教程,还查看了官方文档。他们到处都说 CFLAGS 是隐式的,但仍然在示例 makefile 中将其显式传递给编译器:

CFLAGS=-O2
gcc $(CFLAGS) -c foo.c -o foo.o

那么,“隐式”一词在这种情况下意味着什么?如果我在 makefile 中声明 CFLAGS=-O2 ,然后只说 gcc -c foo.c -o foo.o,将会 -O2是否活跃(那么,它真的是隐含的)吗?如果是这样,为什么所有教程(包括官方文档)仍然在示例中明确传递它?

最佳答案

Everywhere they say CFLAGS is implicit but still pass it explicitly in their example makefile to the compiler.

gcc 不使用 CFLAGS 环境变量。请参阅Environment Variables Affecting GCC .

CFLAGS 是带有 C 编译器标志的 Makefile 变量的常规名称,由隐式 make 规则使用。请参阅Variables Used by Implicit Rules了解更多详情。

如果您使用自己的 make 规则而不是内置规则,则根本不需要使用 CFLAGS。尽管这样做是一个有用的约定,因为人们熟悉常规的 make 变量名称。

关于gcc - 我需要将 CFLAGS 显式传递给 gcc 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29899756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com