gpt4 book ai didi

macros - 比较 C 宏中的字符串(用于 MODULE_LICENSE)

转载 作者:行者123 更新时间:2023-12-01 15:18:40 35 4
gpt4 key购买 nike

我希望能够确保不会意外地将任何专有模块静态链接到内核中。如果未定义 MODULE,我正在考虑使 MODULE_LICENSE("Proprietary") 在编译时失败。 (或者更好的是,如果未定义 MODULE_LICENSE("GPL") 则失败...)。

但我找不到在宏中比较字符串的好方法——有人对此有任何好的解决方案吗?

最佳答案

我认为你做不到。

通常的做法是定义预处理器符号,然后比较它们的(整数)值:

#define LICENSE_PROPRIETARY 1
#define LICENSE_GPL 2
#define LICENSE_MIT 3

#define MODULE_LICENSE LICENSE_GPL

#if MODULE_LICENSE != LICENSE_GPL
#error "Not GPL, fail fail"
#endif

关于macros - 比较 C 宏中的字符串(用于 MODULE_LICENSE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10756569/

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