OS基础:动态链接库(一)
动态链接库(一)
1.新建文件夹,命名lpt
2.用vc6.0建立一个空工程(Win 32 Dynamic-Link Library),名称:lptDll1
3.新建C++文件,命名:lptDll1;新建.h文件,命名:lptDll1.;新建在工程内新建文本文件,命名:lptDll1.def(注意.def后缀一定要写在名称内)
4.lptDll1.h的代码:
void lptDllTest1();
void lptDllTest2();
5.lptDll1.cpp的代码:
#include<iostream.h>
#include "lptDll1.h" void lptDllTest1()
{
cout<<"这是我第一个测试Dll静态加载函数!"<<endl;
} void lptDllTest2()
{
cout<<"这是我第二个测试Dll静态加载函数!"<<endl;
}
6.lptDll1.def的代码:
LIBRARY lptDll1
EXPORTS
lptDllTest1 @ //@1是序号 //lptDllTest1是函数
lptDllTest2 @
7.编译——执行


点击“取消”
8.新建另一个工程(Win 32 Console Application),名称:lppDll1Test。新建C++文件,命名:lptDll1Test
lptDll1Test代码如下:
#include"lptDll1.h"
void main()
{
lptDllTest1();
lptDllTest2();
}
当点击编译发现该库未导入当然不可行
9.找到lptDll1文件夹的子目录中的刚刚执行完毕的debug文件内把lptDll1.lib以及lptDll1.dll复制到lptDll1Test的目录下;同样地,lptDll1文件夹中的lptDll1.h也复制到lptDll1Test的目录下
再次编译,此时会提示找不到这两个函数
10.该库仍然未成功导入,那该如何呢?
找到“工程”—“设置”—“链接/link”,在对象/库模块添加lptDll1.dll动态链接库
再次编译,成功。调用这两个函数,并输出:
这是我第一个测试Dll静态加载函数!
这是我第二个测试Dll静态加载函数!
Press any key to continue
OS基础:动态链接库(一)的更多相关文章
- 国产CPU 申威1621 异数OS基础组件理论性能测试报告
国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...
- OS基础:动态链接库(二)
1.vc6.0新建工程MFC AppWizard[dll]工程 命名LptMfcDll1 2.在lptMfcDll1.h添加函数名声明 添加的代码: //lptAddBegin void lptMfc ...
- 操作系统OS基础
OS: Operating System 操作系统,通用目的的软件程序 主要功能:硬件驱动 进程管理 内存管理 网络管理 安全管理 文件管理OS分类:服务器OS:CentOS,Ubuntu,Windo ...
- os基础
命令:指计算机用户要求计算机系统为其工作的指示: 命令的表示形式: 1.字符形式: 2.菜单形式: 3.图形形式: 命令的使用方式:1. 脱机使用方式 off_line 2.联机使用方式 ...
- Python基础入门-os模块
今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...
- 浅谈iPhone OS(iOS)架构
iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统
- 回顾苹果操作系统Mac OS的发展历史
在新的MacBook AIR和Mac OS X Lion即将发布之际,我们仅以此文向伟大的苹果和乔布斯致敬.并祝Apple教主乔布斯早日康复,长命百岁,千秋万载,一统苹果! Mac OS是指运行于苹果 ...
- Go标准库学习之OS常用函数
1.OS基础操作 //获取主机名 os.Hostname() //获取当前目录 os.Getwd() //获取用户ID os.Getuid() //获取有效用户ID os.Geteuid() //获取 ...
- Mac新手必看教程——轻松玩转Mac OS
背景: 大部分用户接触的第一个操作系统大多是windows,本人记得曾经小学的微机课也是以win98为基础学习了一众office软件.随着工作的多样化,单一的windows系统已经无法满足部分需求,而 ...
随机推荐
- 品味性能之道<十一>:JAVA中switch和if性能比较
通常而言大家普遍的认知里switch case的效率高于if else.根据我的理解而言switch的查找类似于二叉树,if则是线性查找.按照此逻辑推理对于对比条件数目大于3时switch更优,并且对 ...
- 20岁的设计师vs30岁的设计师
20岁的设计师vs30岁的设计师 如果你还是20来岁,要恭喜你,你还年轻, 一切才刚刚开始 还有时间去探索无尽的可能 还有时间去找到无限的前途 如果30岁的你还不够强大, 请记得时刻给予自己信心, ...
- UI设计课程教程分享:Banner的设计和技巧
Banner是一个网站的中心主题,可以从banner看出网站的内容.所以一个好的banner对网站的影响很大. 提高banner的制作从几点深入了解:文字排版.选择适合的图片及背景.颜色的用法. 一. ...
- String类为什么设计成不可变的
在Java中将String设计成不可变的是综合考虑到各种因素的结果,需要综合考虑内存.同步.数据结构以安全方面的考虑. String被设计成不可变的主要目的是为了安全和高效. 1)字符串常量池的需要 ...
- mysql索引相关
索引有主键索引.唯一索引.普通索引 单列索引,复合索引. 复合索引(a,b,c),可以理解是有三个索引,分别是a.b.c三个索引 前缀不是a的话,复合索引都不起作用,前缀用函数或者是范围,比如< ...
- tolua杂记
1 字符串调用luaFunc :DoString public class CallLuaFunction : MonoBehaviour { private string script = @&q ...
- js值类型与引用类型
JavaScript值类型和引用类型有哪些 (1)值类型:数值.布尔值.null.undefined. (2)引用类型:对象.数组.函数. 三.如何理解值类型和引用类型及举例 我们可以用“连锁店”和“ ...
- Flex 确定弹出窗口的绝对位置x , y
var selectbox:Selectbox; selectbox = new SelectBox(); var pt:Point = new Point(0,0); pt = this.paren ...
- [js]获取网页屏幕可见区域高度
document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...
- 文字过多以省略号代替,放在文字上会显示title信息提示
第一种: <td style="text-align:left; word-wrap:break-word;" title="${b.remarks}"& ...