加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 尝试以相反的顺序使用extern

发布时间:2020-12-16 09:38:41 所属栏目:百科 来源:网络整理
导读:当我们有一个exe或dll以及一个附加到它的静态库时,我们可以使用extern关键字从exe或dll访问静态库的变量和/或函数.为了简单起见,我们假设有一个exe和一个lib附加到它上面. 我想要做的是从lib调用exe函数. 可执行代码 void doSomething() { // do something h
当我们有一个exe或dll以及一个附加到它的静态库时,我们可以使用extern关键字从exe或dll访问静态库的变量和/或函数.为了简单起见,我们假设有一个exe和一个lib附加到它上面.

我想要做的是从lib调用exe函数.

可执行代码

void doSomething() {
    // do something here
}

静态链接库代码

void onSomeEvent() {
    doSomething(); // call doSomething() here
}

反之亦然,但我想知道这是否可以像extern关键字一样完成.或者什么是最好的方法?

我想到的是将函数指针(如void *)传递给lib中的一个函数/方法(可能是类构造函数).我认为这应该可以工作,但我不想太多地触摸库的代码,因为库不是我的,可以用更新的版本替换.我可以添加/删除几行代码,但我想防止更改功能接口.

有什么更好的方法?

解决方法

当然,您只需要在库中声明该函数.

void onSomeEvent() {
    void doSomething(); // declares the function
    doSomething(); // call doSomething() here
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读