文档详情

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

发布:2018-05-26约3.02千字共4页下载文档
文本预览下载声明
在 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文件方可正常运行,灵活但稍显麻烦; 用静态链接库编 译生成的可执行文件可直接运行,不用再调用
显示全部
相似文档