终于攒够一百分,又可以提问了! 1,如何从动态库导入一个类。a.动态库有什么要求,b.调用的语法,c.使用上有无特殊要求。2,CBuilder的动态库如何使用.lib,好象VC和CBuilder的lib不同 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 vc的class AFX_EXT_CLASS MyClass{}好像没有什么特别的地方 vc从动态库中导入一个类的方法加入类的 .h文件引用lib文件cbuilder 和 vc生成的lib文件格式不同,好像有个转化的工具 只要加入类的 .h文件引用lib文件其他一样 先在DLL中将类导出:首先使用Wizard创建一个Win32 Dynamic-Link Library工程,然后定义一个简单的C++类CInDLL。在头文件中加入如下的代码:#ifdef _CLASSINDLL #define CLASSINDLL_CLASS_DECL __declspec(dllexport)#else #define CLASSINDLL_CLASS_DECL __declspec(dllimport)#endif#endif // ClassInDLL_H//将class __declspec(dllexport) CInDLL改为class CLASSINDLL_CLASS_DECL CInDLL{ CInDLL();...}在实现这个类的CPP文件的顶部加入#define _CLASSINDLL语句。 #define _CLASSINDLLCInDLL::CInDLL(){}导入时只要加入.lib,同时包含头文件即可 出错?// InDLL.h: interface for the CInDLL class.////////////////////////////////////////////////////////////////////////#if !defined(AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_)#define AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#ifdef _CLASSINDLL #define CLASSINDLL_CLASS_DECL __declspec(dllexport)#else #define CLASSINDLL_CLASS_DECL __declspec(dllimport)#endifclass CLASSINDLL_CLASS_DECL CInDLL {public: CInDLL(); virtual ~CInDLL();};#endif // !defined(AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_) windows 消息机制的一点疑惑 基础问题 动态创建控件却无法调用控件函数。 关于硬件断点 如何获得“我的电脑”和“资源管理器”中选中文件的路径 关于获得本机器IP的问题! 线程池的问题 高分求教:如何创建一个完全透明的窗口? MFC类在标准DLL中的应用! 在vc6.0中怎样生成一个简单的exe文件 关于局域网内发送消息的问题 如何在线程里调用当前CMainFrame得成员函数?
class AFX_EXT_CLASS MyClass
{
}好像没有什么特别的地方
加入类的 .h文件引用lib文件
cbuilder 和 vc生成的lib文件格式不同,好像有个转化的工具
其他一样
首先使用Wizard创建一个Win32 Dynamic-Link Library工程,然后定义一个简单的C++类CInDLL。
在头文件中加入如下的代码:#ifdef _CLASSINDLL
#define CLASSINDLL_CLASS_DECL __declspec(dllexport)
#else
#define CLASSINDLL_CLASS_DECL __declspec(dllimport)
#endif#endif // ClassInDLL_H
//将class __declspec(dllexport) CInDLL改为
class CLASSINDLL_CLASS_DECL CInDLL
{
CInDLL();
...
}在实现这个类的CPP文件的顶部加入#define _CLASSINDLL语句。 #define _CLASSINDLL
CInDLL::CInDLL()
{
}
导入时只要加入.lib,同时包含头文件即可
// InDLL.h: interface for the CInDLL class.
//
//////////////////////////////////////////////////////////////////////#if !defined(AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_)
#define AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000#ifdef _CLASSINDLL
#define CLASSINDLL_CLASS_DECL __declspec(dllexport)
#else
#define CLASSINDLL_CLASS_DECL __declspec(dllimport)
#endifclass CLASSINDLL_CLASS_DECL CInDLL
{
public:
CInDLL();
virtual ~CInDLL();};#endif // !defined(AFX_INDLL_H__7317F996_81A1_4782_A61B_8A475E21161D__INCLUDED_)