gpt4 book ai didi

kbuild - 是否可以在 Kconfig 中将选择转换为 int

转载 作者:行者123 更新时间:2023-12-04 02:00:54 26 4
gpt4 key购买 nike

我正在寻找一种将 Kconfig 文件中的选项转换为 int 的方法。因此,例如,我想要:

config BUFSIZE
int

choice
prompt "choose a buffersize"
depends on FOOBAR
default 10 if FOO
default 15 if BAR
default 20

config SIZE10
bool "10"
depends on !FOO
select BUFSIZE=10

config SIZE15
bool "15"
depends on FOOBAR | BAR
select BUFSIZE=15

config SIZE20
bool "20"
depends on BAR
select BUFSIZE=20

endchoice

当然,=不能和select一起使用,所以上面的不行。实际的选择列表有点长且不稳定,所以我想避免在另一个文件中使用 #ifdef 的字符串将它们转换为整数(加上这些值也在 Makefile 中使用作为 C 文件...)

我的替代方案是使 BUFSIZE 用户可配置,但这是有问题的,因为我不能很好地限制可能的值。同样,如果我为 int 指定一个默认值,并运行 make oldconfig(之前未定义该值),它会提示我输入一个值。如果您为选择设置默认值,它似乎不会提示您进行 make oldconfig。这很重要,因为 FOOBAR 经常关闭/打开,我希望它在打开时自动为体系结构选择默认值。

我想知道是否有一个我忽略的干净的解决方案。

最佳答案

这样做:

choice
prompt "choose a buffersize"
depends on FOOBAR
config BUFFERSIZE_15
bool "15"
config BUFFERSIZE_20
bool "20"
config BUFFERSIZE_25
bool "25"
endchoice

config BUFSIZE
int
default 10
default 15 if BUFFERSIZE_15
default 20 if BUFFERSIZE_20
default 25 if BUFFERSIZE_25

关于kbuild - 是否可以在 Kconfig 中将选择转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325785/

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