黄永峰《程序设计教学》课外阅读之6--在VC2008中创建和使用静态链接库方法8.pdfVIP

黄永峰《程序设计教学》课外阅读之6--在VC2008中创建和使用静态链接库方法8.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 VC2008 中创建和使用静态链接库方法之一 黄永峰 1.利用 VC 创建静态链接库 New-〉projects-〉Win32 Static Libaray 新建好工程 CreateStaticLib 后,创建一个.h 文件 staticLib.h int max(int, int ); 对应的.cpp 文件 fighting.cpp Int max(int x, int y) {int z; If(xy) z=x; Else z=y; Return z; } 编译后,在 Debug 文件中便生成了 CreateStaticLib.lib 静态链接库... 2.编写测试工程 新建一个 Win32 Console Application 工程 useStaticLibTest,新建 fighting.cpp 文件 #include stdio.h #include staticlib.h #pragma comment (lib, Static_Wrap.lib); void main() { int c; C=max(10,12); Printf(“%d”,c); } 将之前生成的静态库CreateStaticLib.lib 和头文件 staticlib.h 拷到当前目录下, 编译运行即可 以上仅仅是个小的 demo,继续学习中,加油... 在 VC2008 中创建和使用静态链接库方法之二 用 C语言写一个简单的函数,并在控制台(命令行)中将它编译为 DLL。 一、源代码 我们创建一个 C语言源程序:Test.c。关键:__declspec(dllexport)  申明将这个方 法导出到 DLL 中。 源代码:  [cpp] view plaincopyprint?  1.  #include stdio.h  2.  3.  __declspec(dllexport)intsum(inta,intb)  4.  {  5.  returna+ b;  6.  }  二、编译 我们分别采用 Visual Studio 自带的cl、link,和 MinGW (gcc)进行编译。  2.1 用 Visual Studio 自带的 cl、link进行编译 假设我们在 Windows 上安装了 Visual Studio 2010,其安装目录为:C:\Program  Files\Microsoft Visual Studio 10.0  那么 cl、link 所在的目录为:C:\Program Files\Microsoft Visual Studio 10.0\VC\bin  我们可以在 Visual Studio Command Prompt (2010)中执行这样的命令来把源代码 编译成动态链接库: [plain] view plaincopyprint?  1.  cl /cTest.c  2.  link/dllTest.obj  截图如下:  2.2 用 MinGW (gcc)进行编译 MinGW 是 gcc 在 Windows平台上的一个 porting。可以访问  mingw.org  来获得 它。 安装 MinGW 之后,就可以在 Windows平台上使用 gcc 了。用 gcc将上述 Test.c  编译成 Test.dll 的命令是:  [plain] view plaincopyprint?  1.  gcc­shared­oTest.dllTest.c  无图无真相,我们截图如下: 注:使用 MinGW 的时候,如果遇到了“libgmp­10.dll is missing...”这样的错误, 可以参考我前面写的一篇小文来解决: 解决 MinGW 运行时的 libgmp­10.dll 丢失错误(libgmp­10.dll is missing from your computer) 。 在 Linux 中用 GCC建立和使用静态链接库的方法 为了使用方便,可以把这两个函数接口定义为动态链接库或静态链接库。用动态链接 库编译生成的可执行文件需调用.so文件方可正常运行,灵活但稍显麻烦; 用静态链接库编 译生成的可执行文件可直接运行,不用再调用

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档