aks*_*aks 5 c static-variables
可能重复:
静态变量
如何从C中的另一个文件访问静态变量?由于静态变量具有文件范围,我认为我们无法在文件外访问它.但我仍然觉得可能有一些技巧或方法来做同样的事情.
我不认为有一个简单的方法.如果您可以使用静态变量更改文件,则可以执行以下操作:
static int hiddenVar; // The static var you want to get at
// A new function you write
int * getHiddenVar() {
return &hiddenVar;
}
Run Code Online (Sandbox Code Playgroud)
但是当然如果您可以更改文件,则只需删除static关键字即可.
另外,我怀疑这有帮助,但在FreeBSD中编写内核模块时我不得不做这样的事情.我使用了一个技巧,我调用了内核的链接器函数来查找静态函数的地址.我怀疑你可以在普通的C程序中做到这一点.