相关疑难解决方法(0)

C中的静态断言

在C(而不是C++)中实现编译时静态断言的最佳方法是什么,特别强调GCC?

c gcc assert static-assert compile-time

79
推荐指数
4
解决办法
6万
查看次数

如何在编译时静态比较两个字符串

我想创建一个可以比较2个字符串的宏,如果不满足条件则发出编译时错误.这可能是编译时断言.

我不知道怎么能这样做.

例如:

STATIC_COMPARE("THIS STRING","THIS STRING") -> would emit a compile time error
STATIC_COMPARE("THIS STRING","THIS OTHER STRING) -> wouldn't emit a compile time error.
Run Code Online (Sandbox Code Playgroud)

宏会看起来像

#define STATIC_COMPARE(str1,str2) if (str1==str2) emit an error with a message
Run Code Online (Sandbox Code Playgroud)

所以我想问题归结为能够在编译时比较2个字符串.

c++ macros xcode gnu compiler-errors

11
推荐指数
3
解决办法
4687
查看次数

标签 统计

assert ×1

c ×1

c++ ×1

compile-time ×1

compiler-errors ×1

gcc ×1

gnu ×1

macros ×1

static-assert ×1

xcode ×1