VC6.0加载lib文件的三种方法
MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢?
静态链接库是要先把程序中所需要使用的函数编译成机器码,保存在*.lib文件中。编译器会去*.lib中找出所需要的函数,并把这些函数的机器码复制一份,放在可执行文件中。将lib库引入工程,有下面3种方法。
第一种方法,lib文件直接加入到工程文件列表中。
在VC中打开“File View”一页,选中工程名,单击鼠标右键,然后在弹出的快捷菜单中选择【Add Files to Project】命令,在弹出的文件对话框中选中要加入dll的lib文件即可。
第二种方法,设置工程的【Project】菜单【Settings】来加载dll的lib文件
打开工程的【Project】菜单的【Settings】,选中【Link】,然后在“Object/library modules”下的文本框中输入dll的lib文件。
第三种方法,预编译指令导入
加入预编译指令#pragma comment(lib,”*.lib”),这种方法优点是可以利用条件预编译指令链接不同版本的lib文件。因为,在Debug方式下,产生的lib文件是Debug版本,如Regd.lib;在Release方式下,产生的lib文件时Release版本,如Regr.lib。当 应用程序对dll的lib文件加载后,还需要把dll对应的头文件(*.h)包含到其中,在这个头文件中给出了dll中定义的函数原型,然后根据对函数原型的声明,就可以使用dll中的函数,代码参考如下:
引入库test.lib,在程序的根目录下包含文件test.dll。
#pragma commenct(lib,”test.lib”)
#include “test.h”
按照上面的方法在工程中引入库test.lib后,就可以调用test库中的函数了
VC6.0加载lib文件的三种方法的更多相关文章
- 加载properties文件的三种方法
源代码: package a.one; import java.io.FileInputStream; import java.io.InputStream; import java.util.Pro ...
- Velocity中加载vm文件的三种方式
Velocity中加载vm文件的三种方式: a. 加载classpath目录下的vm文件 /** * 初始化Velocity引擎 * --VelocityEngine是单例模式,线程安全 * @th ...
- 转 Velocity中加载vm文件的三种方式
Velocity中加载vm文件的三种方式 velocitypropertiespath Velocity中加载vm文件的三种方式: 方式一:加载classpath目录下的vm文件 Prope ...
- cordova程序加载pdf文件的2种方法(ios/android)
前言 公司目前的前端架构是微信端由vue全家桶负责h5网站的单页应用,android端和ios端则选择cordova打包成apk和app.其中,有一个业务逻辑是点击某个链接进入pdf的展示,h5的方案 ...
- Java加载资源文件的两种方法
处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道.Java将配置文件当作一种资源(resource)来处理,并且提供了两 ...
- xml文件 加载properties文件的两种方法与注意事项
1.遇到的问题: 配置redisSpringContext.xml 时,遇到 properties加载失败,提示BeanDefinitionStoreException 和 java.lang. ...
- 动态加载script文件的两种方法
第一种就是利用ajax方式,把script文件代码从后台加载到前台,然后对加载到的内容通过eval()执行代码.第二种是,动态创建一个script标签,设置其src属性,通过把script标签插入到页 ...
- JAVA 中加载属性文件的4种方法
小总结 : 这个集合属性可以反序列化, 把持久化数据读出来, 输入流中放入要操作的文件! p.load加载这个输入流! p.getProperty( key) 根据这个键获得值! 补充 : web工程 ...
- jQuery页面加载初始化常用的三种方法
当页面打开时我们需要执行一些操作,这个时候如果我们选择使用jquery的话,需要重写他的3中方法,自我感觉没什么区 别,看个人喜好了,第二种感觉比较简单明了: 第一种: 复制代码代码如下: <s ...
随机推荐
- Rhythmk 一步一步学 JAVA(4):Spring MVC -之拦截器
1.实现拦截器类(myInterceptor): package com.rhythmk.Interceptor; import javax.servlet.http.HttpServletReque ...
- jquery 三元运算
三元运算: 条件 ? 条件为真取此值 : 条件为假取此值; var v = $(:check).prop('checked')?faule:true; $(:check).prop('checked ...
- Win7 资源管理器右键固定的文件夹不见了
把常用的文件夹固定到任务栏的资源管理器右键菜单中 某天突然就不见了! %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations “最近" ...
- linux/ubuntu 端口开放
在ubuntu下面开放端口好像主要有两种方法,一种是ubuntu自带的防火墙,一种是iptables,这里我们主要使用iptables.本文的系统版本为ubuntu14.04和ubuntu16.04 ...
- SynchronizationContext
/// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : ...
- 在linux下安装并操作tomcat
1.安装tomcat1).下载tomcat从官网http://tomcat.apache.org/下载tomcat,保存在/home目录下.root@ubuntu:/home/ubuntu/Downl ...
- Linux实战教学笔记29:MySQL数据库企业级应用实践
第二十九节 MySQL数据库企业级应用实践 一,概述 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人数众多.其功能稳定,性能卓越,且 ...
- new 约束
[new 约束] new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数.如果要使用 new 约束,则该类型不能为抽象类型. 当泛型类创建类型的新实例,请将 new 约束应用于类型参数 ...
- 【UVA10079 训练指南】收集者的难题【最大流】
题意: Bob和他的朋友从糖果包装里手机贴纸.这些朋友每人手里都有一些(可能有重复的)贴纸,并且只跟别人交换他所没有的贴纸,贴纸总是一对一交换. Bob比这些朋友更聪明,因为他意识到只跟别人交换自己没 ...
- ios学习杂记
commond + alt + enter Xcode分屏.拖动xib连线