开发一个静态库。

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静态库开发与使用相关推荐

  1. Xcode命令行生成Bitcode静态库

    近两三年一直在做静态库开发 1.在Xcode工程中创建静态库的Target,最初是手动Build出真机的.a文件,模拟器的.a文件,然后再用命令行合并 2.后来一些特殊的开发者,要求加入特殊的功能,或 ...

  2. iOS 静态库和动态库的基本介绍和使用

    为什么80%的码农都做不了架构师?>>>    什么是库 ? 库就是程序代码的集合,将N个文件组织起来,是共享程序代码的一种方式. 库的分类 开源库:源代码是公开的,可以看到每个实现 ...

  3. 你的iOS静态库该减肥了

    我有点震惊,国内的具有极少的有关静态库开发的内容,除了一些简单的如何教你开发,而且是原创还是copy,谁知道呢?细思极恐,不扯那么远了,这里就已切身的爬坑经历提供几个静态库瘦身的方案. 公司最近开发完 ...

  4. VC环境下的静态库(lib)使用和动态库(Dll)的使用(清晰版)

    VC环境下的静态库使用 一.  静态库包括.lib和.h文件,在工程中使用静态库分为3步: <1> 在工程中加入静态库,有三种方法: **方法一:项目设置中引用.lib,project-& ...

  5. ios开发 c语言打包.a文件,【转】IOS静态库a文件制作流程

    原文网址:http://www.jianshu.com/p/3439598ea61f 1.新建Cocoa Touch Static Library工程 新建工程 2.Xcode的参数设置 " ...

  6. ios 开发中 动态库 与静态库的区别

    使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...

  7. (0054)iOS开发之制作静态库详解

    最近在做Apple的IOS开发,有开发静态库的需求,下面就简单写一个静态库和一个调用静态库的例子. 静态库的编写: 1. 静态库工程的建立: Xcode New一个新的project,选择IOS下面的 ...

  8. 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...

  9. 【Android NDK 开发】Android.mk 配置静态库 ( Android Studio 配置静态库 | 配置动态库与静态库区别 | 动态库与静态库打包对比 )

    文章目录 I . Android Studio 中使用 Android.mk 配置静态库 总结 II . 第三方动态库来源 III . 配置 Android.mk 构建脚本路径 IV . 预编译 第三 ...

  10. 使用VC 2010制作和使用静态库

    文章目录 1 使用VC 2010制作静态库 2 使用VC 2010使用静态库 1 使用VC 2010制作静态库 创建项目, 选择win32 -> win32项目. 改为release模式: 不使 ...

最新文章

  1. 20.Feature分支
  2. 智源「高能对撞粒子分类挑战赛」开启,品鉴宇宙粒子的独特味道
  3. 开发日记-20190530 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  4. 再见,Eclipse...
  5. oracle索引和同义词,关于Oracle序列、索引、同义词
  6. Oracle存储过程小解
  7. 关于 CommonJS AMD CMD UMD 规范的差异总结
  8. 8个Python高效数据分析的技巧
  9. 如何在jQuery中发送PUT / DELETE请求?
  10. asp静态设置html,ASP生成静态Html文件技术杂谈
  11. Simulink汽车动力学仿真
  12. hp微型计算机网线怎么安装,惠普M1130网络打印机怎么安装设置?
  13. echarts——饼图
  14. 字符编码集与ASCII码表
  15. MOSS系列一 MOSS的安装
  16. ubuntu20.04 跳过grub
  17. 乐高打印机robotc
  18. 【igraph实例】Commmunity 识别
  19. Python 05-字符串
  20. UOJ 【UR #4】追击圣诞老人 题解

热门文章

  1. 用特征根判别法判断AR模型的平稳性,再用随机模拟的方法来验证以及做自相关分析
  2. 三分钟教你如何用Github找开源项目--值得一看!
  3. 解决“npm WARN requires a peer of XXX“问题
  4. php制作特效文字,PPT制作文字特效 PPT特效文字制作教程
  5. 【Python】爬虫-----下载B站视频
  6. 新视野大学英语第三版 读写(2020.12.05)
  7. vue项目每次更新后清除浏览器缓存
  8. Linux从删库到跑路的命令,从删库到跑路——重写 rm -rf
  9. 全球及中国缓控释肥行业产能规模与投资盈利能力分析报告2022版
  10. 阿里云服务器ECS到底是什么?