zoukankan      html  css  js  c++  java
  • OS基础:动态链接库(一)

    动态链接库(一)

    1.新建文件夹,命名lpt

    2.用vc6.0建立一个空工程(Win 32 Dynamic-Link Library),名称:lptDll1

    3.新建C++文件,命名:lptDll1;新建.h文件,命名:lptDll1.;新建在工程内新建文本文件,命名:lptDll1.def(注意.def后缀一定要写在名称内)

    4.lptDll1.h的代码:

     

    1 void lptDllTest1();
    2 void lptDllTest2();

     

    5.lptDll1.cpp的代码:

     1 #include<iostream.h>
     2 #include "lptDll1.h"
     3 
     4 void lptDllTest1()
     5 {
     6     cout<<"这是我第一个测试Dll静态加载函数!"<<endl;
     7 }
     8 
     9 void lptDllTest2()
    10 {
    11     cout<<"这是我第二个测试Dll静态加载函数!"<<endl;
    12 }

     

    6.lptDll1.def的代码:

    1 LIBRARY lptDll1
    2 EXPORTS
    3     lptDllTest1    @1  //@1是序号  //lptDllTest1是函数
    4     lptDllTest2    @2

     

    7.编译——执行

     

    点击“取消”

    8.新建另一个工程(Win 32 Console Application),名称:lppDll1Test。新建C++文件,命名:lptDll1Test

    lptDll1Test代码如下:

    1 #include"lptDll1.h"
    2 void main()
    3 {
    4     lptDllTest1();
    5     lptDllTest2();
    6 }

     

    当点击编译发现该库未导入当然不可行

     

    9.找到lptDll1文件夹的子目录中的刚刚执行完毕的debug文件内把lptDll1.lib以及lptDll1.dll复制到lptDll1Test的目录下;同样地,lptDll1文件夹中的lptDll1.h也复制到lptDll1Test的目录下

    再次编译,此时会提示找不到这两个函数

     

    10.该库仍然未成功导入,那该如何呢?

    找到“工程”—“设置”—“链接/link”,在对象/库模块添加lptDll1.dll动态链接库

    再次编译,成功。调用这两个函数,并输出:

    这是我第一个测试Dll静态加载函数!
    这是我第二个测试Dll静态加载函数!
    Press any key to continue

     

     

  • 相关阅读:
    Android音频(7)——项目实战——耳麦插拔
    Android音频(6)——音频系统分析
    Android音频(5)——框架中的概念和涉及的文件
    Android音频(4)——音频驱动实战
    Android音频(3)——ALSA声卡驱动——DAPM
    Android音频(2)——ALSA声卡驱动——ASoC
    Mvc中Session导致action不异步的问题
    RabbitMQ 声明Queue时的参数们的Power
    RabbitMQ 实现RPC
    RabbitMQ Topic exchange
  • 原文地址:https://www.cnblogs.com/imLPT/p/3682040.html
Copyright © 2011-2022 走看看