【问题标题】:what is possible way to use the function from the other file, which was initialized by a static?使用由静态初始化的其他文件中的函数的可能方法是什么?
【发布时间】:2013-12-28 09:33:42
【问题描述】:

我的问题很简单。

我的程序中有三个文件。假设其中一个文件具有静态功能。如何使用另一个文件中的该功能?

我知道文件本身访问的静态函数。我想知道任何可能的方法。

如果方法可用,我如何才能在函数声明方面停止该访问?

【问题讨论】:

  • 将它们更改为不再定义static?或者为这个本身不是静态的静态函数添加一个包装器?
  • 模块本身总是可以传递一个指向它的指针。如果你真的疯了,你可以解析地图文件/调试信息来寻找它。你想达到什么目的?
  • 如果符号/调试表在二进制文件中可用,您可以读取它并计算指向它的函数指针。您在寻找什么级别的“禁止访问”?

标签: c function function-pointers


【解决方案1】:

声明为文件范围静态的函数在文件外部不可见,这意味着您将无法通过名称等查找函数。但是,如果来自同一文件的函数发出指向该函数,代码将能够调用它,因为不涉及解析或查找。

【讨论】:

    猜你喜欢
    • 2011-12-08
    • 2013-08-08
    • 2022-01-03
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    相关资源
    最近更新 更多