【发布时间】:2013-12-03 16:56:01
【问题描述】:
((void(*)(void))0)();
所以我们将整数 0 类型转换为这个棘手的类型(void(*))(void),然后执行它。消息来源声称这应该有效,但它实际上是什么?
我想这一定是像 #define TRUE FALSE 这样的 C 笑话之一。
【问题讨论】:
-
哪个消息来源声称这应该有效?你有链接吗?在上下文中可能更容易理解。
-
它正在转换为函数指针。看起来像一个等待发生在我身上的段错误。
-
非标准
abort(),也许吧? ;) -
Jekyll 的回答让我不禁要问你,你的问题是否是在嵌入式系统的背景下出现的?
-
这是在一个笑话的上下文中提到的:
if(cmd == RESET) // if command is RESET((void (*)(void))address)(); // something from black magic
标签: c