所以,我有一个程序,我把行号存储在一个变量中,使用
int x = __LINE__;
x的值可以不断变化。
在C中使用goto或任何其他关键字,可以从任意行跳到x给定的行吗?
我在找类似的东西
'keyword' x;
程序移到由变量x定义的行。
如果这不可能,有没有解决办法?
最佳答案
GCC编译器作为一个扩展支持using labels as values,因此您可以以类似于您所追求的方式使用它们。
它允许您:
void *ptr = &&label;
label:
然后
goto *ptr;
跳到
label
。这在虚拟机的核心中通常很有用,当然也会导致糟糕的意大利面。同样,它也是一个GCC扩展(我想Clang也支持它)。
关于c - 有没有办法跳到C语言中的变量定义的行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40527744/