会否在纯C的工程中调用MFC写的DLL呢
能否在纯C的工程中调用MFC写的DLL呢
我想在C工程中调用MFC写的dll,已达到调用MFC写的界面的功能。
我对c和c++不太熟悉,也许让大家见笑了,还请各位帮忙解答,给出思路即可。
谢谢。
------解决方案--------------------
这个好象得在目标机上装上VC运行库或许可以。
------解决方案--------------------
只有平台一致, 接口标准, 有相关依赖库就可以.
------解决方案--------------------
windows系统即可
------解决方案--------------------
接口最好是标准类型,遵守调用约定,然后你带上MFC需要的类库,C工程一样可以调用
------解决方案--------------------
如果导出的是C函数,那么就没问题,直接调用就行。
------解决方案--------------------
用Depends看下他的依赖DLL,拷贝过去就行了
------解决方案--------------------
1)不要导出类
2)注意资源问题。
------解决方案--------------------
1. 导出函数的格式必须为 C 风格:
extern "C" __declspec(dllexport) int func(...)
2. 对于引用的声明及调用必须改为指针:
#ifndef __cpluscplus
extern "C" __declspec(dllexport) int func(int &x, ...)
#else
extern "C" __declspec(dllexport) int func(int *x, ...)
#endif
3. 类声明改为结构体,以及成员函数等都必须对应修改。具体的方法就不说了,可以参考 COM 的 C 实现,需要另外定义一个结构体和一个 lpVtbl 指针。
我想在C工程中调用MFC写的dll,已达到调用MFC写的界面的功能。
我对c和c++不太熟悉,也许让大家见笑了,还请各位帮忙解答,给出思路即可。
谢谢。
------解决方案--------------------
这个好象得在目标机上装上VC运行库或许可以。
------解决方案--------------------
只有平台一致, 接口标准, 有相关依赖库就可以.
------解决方案--------------------
windows系统即可
------解决方案--------------------
接口最好是标准类型,遵守调用约定,然后你带上MFC需要的类库,C工程一样可以调用
------解决方案--------------------
如果导出的是C函数,那么就没问题,直接调用就行。
------解决方案--------------------
用Depends看下他的依赖DLL,拷贝过去就行了
------解决方案--------------------
1)不要导出类
2)注意资源问题。
------解决方案--------------------
1. 导出函数的格式必须为 C 风格:
extern "C" __declspec(dllexport) int func(...)
2. 对于引用的声明及调用必须改为指针:
#ifndef __cpluscplus
extern "C" __declspec(dllexport) int func(int &x, ...)
#else
extern "C" __declspec(dllexport) int func(int *x, ...)
#endif
3. 类声明改为结构体,以及成员函数等都必须对应修改。具体的方法就不说了,可以参考 COM 的 C 实现,需要另外定义一个结构体和一个 lpVtbl 指针。