C 将外部函数链接为成员函数
C++ link an extern function as member function
基本上,我已经编译了一个已编写的文件;.obj file
。它具有导出功能f
。在C 中,我写了一堂课,想将导出的函数f
用作成员函数。
如果将其用作全局函数,我知道只写extern "C" f()
。但是,这与会员功能无效,至少我不知道该怎么做。
那么,我该怎么做?
注意:函数f
编写正确。即它考虑了this
指针等。它应该在组装级别上正常工作。
如果该函数写为免费函数,则必须按照您的习惯方式将其声明为免费功能。就像您无法使用void foo()
构建库,然后以某种方式将其声明为void bar()
并期望它可以正常工作一样,您也无法获取免费功能并将其转换为成员函数。但是,您可以做的是在您的班级中添加一个内联货币:
struct S;
extern "C" void f( S * );
struct S {
void f() {
using ::f;
f(this);
}
};
据我所知,这是您能做的最好的。
相关文章:
- 如何使用指针传递给函数的数组中对象的函数成员
- c++构造函数成员初始化:传递参数
- 创建 std::函数,它返回具有函数成员值的变量.分段错误
- 如何在C++通过公共函数访问私有函数成员?
- 解释了构造函数成员初始化列表
- 调用std::函数成员时内存损坏
- 是否可以为模板类的模板函数成员设置别名?
- 捕获 lambda 函数C++成员变量
- 构造函数成员初始值设定项跨成员列出,安全吗?
- 获取与在模板参数中传递的函数成员类型相同的类
- 如何从公共函数成员访问地图私有成员
- C 构造函数成员分配优化
- 使用命名空间进行函数成员定义
- 函数成员作为 CUDA 内核的参数
- 模板基类函数成员的别名
- 函数成员中用于void和继承的enable_if
- 头文件中是否定义了一个很长的Class函数成员
- 类内/构造函数成员初始化
- 使用指向部分专用函数成员的指针自动填充向量
- 指向函数成员的指针