zoukankan      html  css  js  c++  java
  • 在Windows下制作静态库和动态库

    一:静态库的创建

    1. VC++6.0中new一个的为win32 static library工程,之后有二个选项。根据需求选吧。
    2. 具体的类或者函数的添加过程和标准的工程一样,直接创建新的类或者添加新 
      的.h(例:MY.h)和.CPP(例:MY.cpp)文件。然后在其中编写实现。
    3. 完成后编译会生成一个.lib文件(例如:生成的是MY.lib)我生成的文件为TEST.lib                                                                                 .
    4. 编译有问题,去掉了一个long                                                                                        

    5. 提示错误修改方法                                                                                                        

    二:动态库的创建

    1. VC++6.0中new一个的为win32 Dynamic-Link Library工程,之后有三个选项。根据需求选吧。
    2. 具体的类或者函数的添加过程和标准的工程一样,直接创建新的类或者添加新 
      的.h(例:MY.h)和.CPP(例:MY.cpp)文件。然后在其中编写实现。
    3. 完成后编译会生成一个.lib文件(例如:生成的是MY.lib)。     

    三:静态库使用

    静态库包括.lib和.h文件

    1、在工程中加入静态库,有两种方法:

    方法一:项目设置中引用.lib,project-setting-link-object/library modules中添 
    加.lib;(需要在tools/options设置正确的引用路径)

    方法二:在项目中直接加入lib,project-add to project-files,选择正确的.lib。

    问题1:如此更改设置后,链接有错                                                                                                                

    方法:                

    加入#pragma comment(lib, "MYTEST.lib")

           

    将两个文件拷贝到use1.cpp相应的文件夹里,可以运行了。

                                                                                                                                     

    2、在工程中包括.h文件;(可能 需要在tools/options设置正确的引用路径)

    3、在工程中使用静态库中的函数;

    四:动态库使用

    动态链接库一般包括.lib(导出函数),.h,.dll。

    1、隐式链接,同使用静态库相似,分为三步:引用.lib,包含头文件,使用导出函数;

    2、动态加载,直接使用LoadLibrary 加载所需的动态库,然后指定所需的导出函数,效 
    率最高!

    3.编译链接通过,运行失败

    发现创建方法不对,修改代码如下

    将MYTEST3.dll拷贝到debug中,成功

    学习参考:http://wenku.baidu.com/view/47507393daef5ef7ba0d3ca6.html

    http://www.docin.com/p-65088206.html

  • 相关阅读:
    一万字详解 Redis Cluster Gossip 协议
    Java使用多线程异步执行批量更新操作
    闲鱼是如何实践一套完整的埋点自动化验证方案的?
    OSS 阿里云存储操作实例以及错误案例
    OSS 阿里云存储操作实例以及错误案例
    Java知识体系总结(2021版)
    倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)
    七分之一在线评论都有假,人工智能救一把?
    太委屈!曾一举击败英伟达,却因坚持研发背负骂名的国际 IT 大佬
    SpringBoot四大核心之自动装配——源码解析
  • 原文地址:https://www.cnblogs.com/lalacindy/p/4851978.html
Copyright © 2011-2022 走看看