c - 如何在 gcc 中验证变量在某些函数中与 hton 一起使用

标签 c validation gcc compilation makefile

我定义了 uint16 变量。 我想在编译中进行验证,无论何时使用此变量,都必须首先使用 hton() 对其进行转换。 有没有办法在 gcc 编译期间验证它?

谢谢。

最佳答案

我认为在 C 中没有合适的解决方案,因为我们无法通过 hton() 验证变量是否已更改字节顺序。

如果我们能够以某种方式验证这一点,我们可以使用静态断言(讨论过 herehere )并创建编译时检查。

您仍然可以在声明变量 var 之后编写宏:

#define var hton(var)

这可能是一个糟糕的解决方案,可能会把事情搞砸,所以只需使用一个函数,该函数在通过 hton() 运行它后返回变量。

关于c - 如何在 gcc 中验证变量在某些函数中与 hton 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17570090/

相关文章:

c - 线程和同步

c - 当我对结构进行浅拷贝时,灵活的数组成员不会被复制

javascript - 在 JavaScript 中验证

json - boolean 值是有效的 JSON

c++ - 为什么 C++ 编译器会复制函数退出基本 block ?

c - 替换运算符 new 和删除似乎会影响 C 库

c - 循环改变不在循环内部的字符串?

c++ - 如何在不为其分配内存的情况下将缓冲区传递给 write()

regex - 需要正则表达式来验证 URL 并支持 %20 和 ()

c++ - msvc 和 gcc 不同的行为