【VC++6.0】成功制作并使用lib库(原创)
来源:互联网 发布:托尼道格拉斯cba数据 编辑:程序博客网 时间:2024/05/01 11:56
微软有许多头文件,这些头文件里面定义了许多函数,但是在头文件中你却找不到函数内容的身影,因为函数主体被保存在了lib库中。保存在库中有一个好处,那就是源代码不容易被发现,也就是说其中的一些技术别人不容易学到。废话少说,我们现在就开始制作lib库。
首先,第一步,打开VC++6.0,按Ctrl+N,选择工程选项卡,选中“Win32 Static Library”选项,输入工程名称,我们这里用“Lib
库”,大家可以自己选择,至于路径,随便选一个吧,反正这次只是lib的实验。
然后点击“确定”,我们两个都不选,如果选择“预编译的头文件”的话系统会自动帮你建好stdafx.h和stdafx.cpp。但另外一个“MFC支持”我没试过。
点击完成后建立了一个空的工程,我们新建一个CPP文件(注意选上“添加到工程“Lib库”“这个选项,输入文件名main.cpp,随后,在main.cpp中间输入函数代码和头文件,注意这里不需要添加main函数也不需要类似的包括dllmain函数在内的函数。
编译,有错的改错,没错的运行。VC6会提示要求输入可执行文件名,我们点击取消,随后生成Lib库.lib完成。
现在请把Debug下的Lib库.lib复制到系统目录或D盘中(我是复制到D盘的)
不要以为现在就完成了哦!我们新建一个.h文件(实际上可以打开任意文件夹或驱动器,右键—>新建—>新建文本文档,然后重命名为.h文件即可。)这里用lib.h,用记事本或VC++6打开我们刚刚新建的.h文件,将你定义的函数中函数的原型复制进去,比如说我刚才在lib文件中定义了一下函数:
int abc()
{
printf("abc\n");
return 0;
}
那么我在头文件中只要这么写:"int abc();" 就可以了(引号不算),注意后面有一个分号。.h文件编辑完了以后你就可以引用了,将.h文件复制到D盘中,在VC6中新建一个cpp文件,输入(我这里以lib文件和.h文件都在d:\下做示范):
#include <d:\lib.h>
#pragma comment(lib, "d:\lib.lib") //不是#include来包含,我一开始写日志时写错了,感谢狂飙为我从天落指出
int main()
int main()
{
abc();
return 0;
}
运行,没有错误,你会看到屏幕输出abc。怎么样?还有需要说明的是,虽然dll也可以实现这个一样的功能,但是lib有以下几点好处(对比dll):
1.没有dllmain函数,运行更简单
2.大小不大
3.运行后lib就嵌在程序里面了,dll还要在程序旁边跟一个小尾巴(dll文件)
怎么样?自己赶快试一试吧!
- 【VC++6.0】成功制作并使用lib库(原创)
- VC成功制作并使用lib库
- 使用Busybox制作CRAMFS文件系统成功[原创]
- [PHP][使用PHPCxcel制作excel表格并导出文件的用法及成功实例[已验证][原创]
- VC++ lib的制作
- 使用Bubybox1.10制作文件系统成功[原创]
- VC++怎样引入dll,lib文件,并成功调用其中的方法?
- vc++6.0里使用lib(静态库)的方法
- vc如何使用lib
- 使用vc++ 6.0制作dll,并在java程序中使用(转)
- vc++ 如何创建并引入静态库 .lib
- VC中无LIB时的DLL隐式链接,制作与VC++相符合的LIB函数符号输入库
- VC Lib的制作与调用
- 制作动态库并使用
- alsa-lib及alsa-utils成功移植(原创)
- Lib库制作
- VC++6.0调用lib
- VC 中使用lib文件 使用库的方法
- 成功使用MU3-WN823N无线USB网卡
- Iphone开发(五)用滑块slider来调节控件透明度
- [原创]VC成功实现重启路由器(完整源码)
- 栈和队列小结
- 【转】VC控制台多线程实例
- 【VC++6.0】成功制作并使用lib库(原创)
- 【原创】VC实现文件选择对话框并且排除afxwin1.inl line22错误
- [转]VC鉴别IP是否规范
- oracle 存储过程 传入时间
- 【转载】VC中字符串和数字转换的函数
- [VC++]成功实现资源释放(原创+转载)
- VC获取自身PID
- VC获取windows启动模式及获取屏幕分辨率
- [开发工具] 史上最全系列Android开发环境搭建