- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 库文件的生成
1. 首先在VC++6.0 中新建一库工程:
2. 编写库的源文件及库的头文件
3. 在库源文件中编写代码,下面是源文件的内容:
// 库的源文件
#includelib.h
// 编写加法函数
intadd(intx,inty)
{
returnx+y;
// 编写减法函数
intdec(intx,inty)
{
returnx-y;
4. 在头文件中申明源文件中的函数为外部函数,下面是头文件的内容:
// 避免头文件重复编译
#ifndef__MY_STATIC_LIBRARY
#define__MY_STATIC_LIBRARY
externCintadd(intx,inty); // 将加法函数声明为外部函数
externCintdec(intx,inty); // 将减法函数声明为外部函数
#endif
很多人疑惑,为什么要在库的头文件中将库中的函数申明为外部的,道理很简单,因为我们
编写库的头文件是准备提供给我们调用方使用的,相对对调用方来说,这些函数都是库中的
函数,是从库中引入的外部函数。
5. 编译后在工程debug 文件夹中找到库文件。
二 库文件中函数的调用
1. 新建一工程用于测试我们库中的函数
2. 工程源代码如下:
//StaticLibLink.cpp:Definestheentrypointfortheconsoleapplication.
//
#includestdafx.h
#includelib.h //包含库的头文件
#pragmacomment(lib,E:\\WayOfMFC\\StaticLibLink\\StaticLib.lib) //指定库的位置
intmain(intargc,char*argv[])
{
printf(2+3=%d\n,add(2,3)); // 直接调用库中的函数并打印结果
printf(HelloWorld!\n);
return0;
3. 为了让编译器能够在链接时找到库中的函数,我们通常采用如下3种方法:
a.. 在源文件中包含库的头文件#includelib.h 然后用预编译指令指定库文件所在的位置
#pragmacomment(lib,E:\\WayOfMFC\\StaticLibLink\\StaticLib.lib) 这样我们就能随意调用
库中函数了。
b. 很多人不愿意记预编译指令,先包含库的头文件后再将库文件*.lib 加入到工程source
files 件文件夹中,这样比较直观,这种方法同样也是可以的。见下图
不用预编译指令
3. 不用预编译指令,也不将*.lib文件加入到sourcefiles 文件夹中, 直接设置编译器的选项
实现。先在编译器选项中指定库文件的路径,tooloptionsdirectoriesshowdirectoriesfile
中选中 libraryfiles 然后找到我们的库文件所在文件夹并添加:
添加库文件所在文件夹路径
路径是添加了,但还得告诉编译器要在链接时链接的库文件名,project settingslink 加
入库文件名,见下图:
手动输入库文件名
这样编译器就能正确设别了。
以上介绍了,建立库函数和使用库函数的方法,编译连接程序后运行得到如下结果:
文档评论(0)