DLL专题之库的简介和静态库
来源:互联网 发布:普天网络会所 编辑:程序博客网 时间:2024/06/01 08:41
从现在开始,我们进入DLL专题.今天就从静态库开始.
首先,我们创建一个静态库:(VC里Win32 Static Library工程) ,选择空工程.增加头文件和实现文件(分别是StaticLib.h和StaticLib.cpp),代码如下:
StaticLib.h :
#ifndef _STATIC_LIBRARY_H_
#define _STATIC_LIBRARY_H_
#include "windows.h"
extern "C" void ShowMessage( LPCTSTR pstrMsg, LPCTSTR pstrTitle );
#endif//_STATIC_LIBRARY_H_
StaticLib.cpp:
#include "StaticLib.h"
void ShowMessage( LPCTSTR pstrMsg, LPCTSTR pstrTitle )
{
MessageBox( NULL, pstrMsg, pstrTitle, MB_OK | MB_ICONINFORMATION );
}
这样就好了,我们编译连接就生成了静态库了.
然后,我们怎么用呢!在用之前,我们先说说库吧!
/*--------------------------------------------------------------------------------*/
库的理解
静态链接库与动态链接库都是共享代码的方式,只不过是他们是在二进制级别上重用代码而已。
对于静态链接库:
1、lib中的指令被直接编译连接到最终的EXE文件中了
2、静态链接库中不能再包含其他的动态链接库或者静态库
对于动态连接库:
1、DLL不必被被编译连接到最终EXE文件中,EXE文件执行时"动态"地装载和卸载DLL文件
2、动态链接库中还可以再包含其他的动态或静态链接库
3、DLL 的编写与具体的编程语言及编译器是无关的,COM也是这样。只要遵循DLL编写规
范,DLL可以被任何语言调用
当然了,库的东西,不只是静态链接库与动态链接库。还有COM,COM和DLL一样也是一种跨语
言的二进制级别的代码共享,不过COM有更多的优点。以后,我们会专门讨论COM/COM+/DCOM/
ATL/ActiveX等
/*--------------------------------------------------------------------------------*/
使用静态库的方法如下:
//静态库的使用
#include ".//StcLib//StaticLib.h"
/*-----------------------------------------------------------*/
静态加载StcLib.lib
#pragma comment( lib, ".//StcLib//Debug//StcLib.lib" )表
示所在文件生成的.obj文件应与StcLib.lib一起连接,当然你也可以使
用VC开发环境设置。
/*-----------------------------------------------------------*/
#pragma comment( lib, ".//StcLib//Debug//StcLib.lib" )
void CDllDlg::OnBtnStaticlib()
{
// TODO: Add your control notification handler code here
ShowMessage( _T("Hello World!"), _T("Information") );
}
好了,静态库搞完了啊!
下回我们就进入动态连接库了.记的看啊!呵呵.
- DLL专题之库的简介和静态库
- DLL专题之动态连接库的静态调用(1)
- DLL专题之动态连接库的静态调用(2)
- DLL专题之MFC静态库
- DLL专题之MFC规则库和扩展库
- 共享DLL 和静态库DLL
- DLL专题之VC开发DLL和DLL编写说明
- dll(动态库)和lib(静态库)的比较
- 静态库lib和动态链接库dll的基础知识
- dll和lib(包括静态链接库和与dll同时生成的lib)
- dll和lib(包括静态链接库和与dll同时生成的lib)
- dll和lib(包括静态链接库和与dll同时生成的lib)
- C++ 加载dll 及调用lib 和 dll的 方法 和 动态库DLL与静态库lib的区别
- DLL(动态链接库)专题
- DLL(动态链接库)专题
- DLL(动态链接库)专题
- DLL(动态链接库)专题
- DLL(动态链接库)专题
- linux操作之: 设置硬盘DMA,提高linux读写速度
- 动易swCMS6.5网站由ASP生成HTML静态页的技术分析
- Galzoo island ost cue
- C# WinForm程序中的MessageBox中的换行问题
- 我的体会:十年编程无师自通
- DLL专题之库的简介和静态库
- 优化PHP代码的40条建议
- 使用GetAdapterInfo函数的方法
- 游戏资源提取软件介绍
- 今天终于在CSDN有了一个自己的窝了
- 如何利用socket进行HTTP访问
- uClinux 2.6(bf561)中的NorFlash驱动实现分析:全文
- 电子书 下载地址
- Tomcat 的集群和负载均衡