VC静态库开发与使用
来源:互联网 发布:秦皇岛海洋食品厂淘宝 编辑:程序博客网 时间:2024/06/03 05:06
开发一个静态库。
1、 打开VC,新建工程->win32项目(LIB-TEST),在“应用程序设置”中选择“静态库”。
2、 导出接口使用extern "C" 标记,声明为C编译、连接方式的外部函数
比如:
/*
功能说明:初始化
参数说明:pLicenseFileName,表示License文件名称;pProgramName,表示程序名称
返回值:int类型 0,表示成功,非0,表示错误码
*/
extern "C" int Register_Init(char*pLicenseFileName="License.lic",char *pProgramName=NULL);
/*
功能说明:反初始化
参数说明:无
返回值:int类型 0,表示成功,非0,表示错误码
*/
extern"C" int Register_UnInit();
/*
功能说明:是否合法注册
参数说明:无
返回值:int类型 0,表示合法注册,非0,表示不合法注册
*/
extern"C" int Register_IsValidRegister();
3、在项目中山实现接口(或者新建一个.cpp文件)。
int Register_Init(char*pLicenseFileName,char *pProgramName)
{
//实现处理…
}
4、生成debug和release静态库,分别不同命名。
5、如果想在静态库中使用对话框的话,需要一个接口,设置外面的主资源句柄,以便静态库使用。
void Lib_Init(HINSTANCE hMainResource)
{
HINSTANCE hOldResrouce = (HINSTANCE)AfxGetResourceHandle();
AfxSetResourceHandle((hMainResource);
m_pDlgTip = new CAuthenticationTipDialog();//对话框
m_pDlgTip->Create(CAuthenticationTipDialog::IDD,NULL);
...
AfxSetResourceHandle(hOldResrouce);
}
工程引用静态库
1、 定义接口,即静态库对外的函数。
2、 debug和release分别引用不同的debug和release静态库。
3、 为了保证编译不出错误,确保本工程和静态库的运行时库一致。
- VC静态库开发与使用
- VC++动态库和静态库创建与使用
- VC++动态库和静态库创建与使用
- CodeBlocks与C-Free使用VC的静态库
- VC编译器-使用静态库
- ios 开发中静态库创建与使用
- 在VC中使用FFmpeg静态库
- VC静态库的创建和使用
- vc++项目中如何使用静态库
- (转贴)VC中创建与使用静态链接库和动态链接库
- VS2010与VC++6.0使用静态、动态链接库的不同
- 静态库创建与使用
- VC.Net中创建与使用静态链接库(lib)和动态链接库(dll),以及它们的区别.
- VC.Net中创建与使用静态链接库(lib)和动态链接库(dll),以及它们的区别
- VC.Net中创建与使用静态链接库(lib)和动态链接库(dll),以及它们的区别
- VC++ 静态库&动态库的创建与调用
- VC下静态链接库与动态链接库
- vc生成静态库
- javascript模块化1
- angularjs 理解ngOptions
- Android应用程序四大组件之使用AIDL如何实现跨进程调用Service
- Thread、Handler和HandlerThread关系何在?
- HDU 5829 Rikka with Subset(NTT)
- VC静态库开发与使用
- UVA 455 Periodic Strings
- 彻底明白Android中AIDL及其使用
- Ice学习--简单的例子(服务端)
- Spring组件和IOC容器
- 关键字
- ios学习笔记
- 进程间通信笔记(3)—POSIX消息队列
- Linux设备模型-4-kobj_attribute