我定义了 uint16 变量。 我想在编译中进行验证,无论何时使用此变量,都必须首先使用 hton() 对其进行转换。 有没有办法在 gcc 编译期间验证它?
谢谢。
最佳答案
我认为在 C 中没有合适的解决方案,因为我们无法通过 hton()
验证变量是否已更改字节顺序。
如果我们能够以某种方式验证这一点,我们可以使用静态断言(讨论过 here 和 here )并创建编译时检查。
您仍然可以在声明变量 var
之后编写宏:
#define var hton(var)
这可能是一个糟糕的解决方案,可能会把事情搞砸,所以只需使用一个函数,该函数在通过 hton()
运行它后返回变量。
关于c - 如何在 gcc 中验证变量在某些函数中与 hton 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17570090/