1
97
C11标准增加了
我应该注意到,在clang的最新版本中也实现了这一点。 |
2
98
这适用于函数和非函数范围(但不适用于结构、联合)。
更新:
为了完整起见,这是
UPDATE2:GCC特定代码 GCC4.3(我猜)引入了“error”和“warning”函数属性。如果无法通过死代码消除(或其他措施)消除对具有该属性的函数的调用,则会生成错误或警告。这可用于使用用户定义的故障描述进行编译时断言。仍需确定如何在命名空间范围中使用它们,而无需诉诸伪函数:
|
3
11
氯
使用大小为负的数组typedef不能说服
氯
吐出一个像样的错误。只是说
现在
在下面
Gcc还提供了一个可理解的信息: |
4
4
从 Wikipedia :
|
5
2
大多数编译器都会显示变量的名称,并指向代码的右侧部分,您可以在那里留下关于断言的最终注释。 |
6
2
如果使用静态\u ASSERT()宏
例如:
|
7
2
不是
因为
|
8
1
尤其是Perl
如果
|
9
1
下面的简单宏
|
10
0
对于那些你想要一些基本的和便携式的,但没有访问C++ 11特性的人,我写了这件事。
说明:
在GCC和VS 12C++上为我工作 |
11
0
这在设置了“删除未使用的”选项的情况下起作用。我可以使用一个全局函数来检查全局参数。
|
12
0
|
Darky · 多重定义…c++vsCode[重复] 2 年前 |
Ty Q. · 分段故障GLFW3/GLAD 2 年前 |
Noè Murr · 如何获得C函数的基本编译二进制代码? 2 年前 |
AvirukBasak · gcc中无return语句的尾部递归 2 年前 |
hepl · gcc如何决定在创建可执行文件时使用dynamics库? 2 年前 |