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系统已经无法满足部分需求,而 ...
随机推荐
- Servlet 3.0 规范(二)注解驱动和异步请求
Servlet 3.0 规范(二)注解驱动和异步请求 在 Servlet 3.0 时支持注解启动,不再需要 web.xml 配制文件. 一.Servlet 3.0 组件 Servlet 容器的组件大致 ...
- Java第14章笔记
Java 中无参无返回值和带参带返回值习题 编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. 要求通过定义无参带返回值的方法来实现,返回值为最大年龄 2. 方法中将学生年龄保存在数组 ...
- HTML and CSS学习概述-续
1, CSS是层叠样式表(Cascading Style Sheets)的缩写,它用于定义HTML元素的显示形式,是一种格式化网页内容的技术.CSS现在已经被大多数浏览器所支持,成为网页设计者必须 ...
- hibernate项目
http://blog.csdn.net/wzygis/article/details/22985751
- git版本控制工具的使用(3)
git remote查看远程库的信息get remote -v可以更详细,查看推送和抓取权限 git push origin master把本地的master提交到远程的库对应的主分支 gt push ...
- ubuntu禁用n卡驱动(进系统卡死)
显卡驱动 该发行版依旧内置了Nouveau 开源驱动,这是导致频繁死机的直接原因.接下来要做的三件事情是: 禁用Nouveau 内核模块 安装Intel HD 530 驱动(二选一) 安装NVIDIA ...
- redis知识积累
redis 安装包:redis-3.0.6.tar.gz 打开 redis: cd /media/deepl/文档/ubuntutools/redis-3.0.6/src/ ./redis-serve ...
- warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
症状描述: 使用yum安装软件时报如下错误: warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NO ...
- maven打包某个分支的包
maven打某个分支的包命令: mvn clean install -Dmaven.test.skip=true -Pdevelop
- Maven进行install的时候报错,COMPILATION ERROR : Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.13:test (default-test) on project cmu: There are test failures.
maven进行install的时候,test类里面报错: COMPILATION ERROR : [INFO] -------------------------------------------- ...