C指令地址

时间:2010-05-30 21:41:13

标签: c memory

免责声明,关于这个问题我没有做任何特别的事情,只是好奇。

是否可以在C中获取指令或块的地址?从本质上讲,C中是否存在跳跃等价物?

例如:

void function() {
    int k;
    { // is a possible to go to this address from arbitrary point in code?
      int i, j;
      k += j+i;
    }
}

谢谢

2 个答案:

答案 0 :(得分:3)

是的,请使用goto

void function() {
    int k;
    { // is a possible to go to this address from arbitrary point in code?
myLabel:
      int i, j;
      k += j+i;
    }

// stuff

    goto myLabel;
}

答案 1 :(得分:3)

我认为使用标准技术最接近的是setjmplongjump。但它们不会让您访问实际地址,因为jmp_buf对象是不透明的。

相关问题