gpt4 book ai didi

linux - 如何使用make和编译为C99?

转载 作者:IT王子 更新时间:2023-10-29 00:20:26 27 4
gpt4 key购买 nike

我正在尝试使用 Makefile 编译 linux 内核模块:

obj-m += main.o

all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

这给了我:

main.c:54: warning: ISO C90 forbids mixed declarations and code

我需要切换到 C99。阅读后我注意到我需要添加一个标志 -std=c99,但不确定应该添加到哪里。

如何更改 Makefile 以将其编译为 C99?

最佳答案

在编译模块时添加编译器标志的正确方法是设置 ccflags-y 变量。像这样:

ccflags-y := -std=gnu99

参见 Documentation/kbuild/makefiles.txt在内核树中获取更多信息。

请注意,我使用的是 gnu99 标准而不是 c99,因为 Linux 内核严重依赖 GNU 扩展。

关于linux - 如何使用make和编译为C99?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2935047/

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