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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |