1.lib文件的加载  

  lib其实就是window下的静态库文件

  C++加载静态库文件只能静态加载,在编译的时候进行

  下面以vs2010为例:

  首先右键单击项目,选择属性:

  

  打开配置属性-链接器-常规-附加库目录

  

  新建一行,填入你要加载lib文件所在的路径

  

  现在设置好了加载的lib目录,再设置要加载的lib

  打开项目属性-链接器-输入-附加依赖项

  

  在编辑框输入lib的全名(不带路径)一个文件占一行

  

  现在再编译文件的时候,自动就会使用lib中包含的符号了

  2.lib文件的使用

  lib文件是window的静态库文件,其实就是很多编译好的函数代码的集合。这种文件里面的代码无法直接执行,必须进行二次编译后才能使用。当你使用了lib中的函数后,编译器会将其代码从lib文件中提取出来,然后追加到你自己的程序中去。所以,使用lib编译出来的执行程序比用dll的大一些,甚至很多。但是这样做,程序的执行效率会高很多(dll必须在运行时去找函数来执行,并且要进行耗时的长跳转),一种典型的通过空间换时间的策略。

------------------------------------------------------------------------------------------------------------------------------------------------------------

1 LIB文件直接加入到工程文件列表中
  在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中"Add Files to Project"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。
  2 设置工程的 Project Settings来加载DLL的LIB文件
  打开工程的 Project Settings菜单,选中Link,然后在Object/library modules下的文本框中输入DLL的LIB文件,如you.lib(或者lib文件的路径,包括文件名)。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。
  3 通过程序代码的方式
  加入预编译指令#pragma comment (lib,"*.lib"),这种方法优点是可以利用条件预编译指令链接不同版本的LIB文件。因为,在Debug方式下,产生的LIB文件是Debug版本,如Regd.lib;在Release方式下,产生的LIB文件是Release版本,如Regr.lib。然后在首先要使用该函数的地方加上该LIB的头文件,如#include "..\lib.h"即可(没有头文件当然就不用了)。

C++ 如何加载lib相关推荐

  1. C++加载lib和dll的方法

    C++加载lib的方法: 方法1.直接添加lib项目的引用 方法2.在属性-连接器-输入-里添加要使用的lib,在连接器-常规-附加库目录添加lib的目录 C++加载dll的方法(参考网址https: ...

  2. 解决URL存在特殊符号、异步线程池配置、动态加载lib下所有jar包

    一.解决URL存在特殊符号|{}?&.URL中包含%2F.URL中包含%5C import lombok.extern.slf4j.Slf4j; import org.springframew ...

  3. VC6.0加载lib文件的三种方法

    MFC编写程序,都要用到动态链接库,MFC相关的动态库有MFCD42和MFC42等,MFC框架程序已经自动加载,那么如何引入第三方的动态链接库到工程中呢? 静态链接库是要先把程序中所需要使用的函数编译 ...

  4. #pragma加载lib文件

    lib加载有两种方式,一种是直接在工程属性里面添加,另一种是通过代码添加. 1.通过工程属性添加. 直接右键工程属性,添加lib库所在的目录和lib库文件名,即可在工程中调用库中的接口. 2.通过代码 ...

  5. Qt5 使用 #pragma 加载 lib 文件的注意事项

    --------------------------------------------- -- 时间:2018-12-06 -- 创建人:Ruo_Xiao -- Qt5.2.1 和 VS2010 - ...

  6. Linux查看lib加载路径

    一.Linux加载Lib优先级: 总的来说,优先级方案可以归类为以下两种版本 .(LD_PRELOAD的优先级最高) 一.如果指定了 RUNPATH 字段(即 DT RUNPATH 字段非空): 1 ...

  7. 【死磕JVM】五年 该知道JVM加载机制了!

    类加载 Java虚拟机类加载过程是把Class类文件加载到内存,并对Class文件中的数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的java类型的过程 和那些编译时需要连接工作的语言不 ...

  8. java类二次加载_深入理解java之类加载器

    一.类与类加载器 类加载器:实现加载阶段的第一步,通过一个类的全限定名来将这个类的二进制字节流加载进jvm. 类与类加载器:任意一个类唯一性都是由它本身和加载它的类加载器确定,两个类是否相等在它们是由 ...

  9. java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...

    Java虚拟机是如何加载Java类的?  这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...

最新文章

  1. 学习html5系列之比较典型的div滥用
  2. 下一站,向冠军冲击!
  3. 计算机一级判断题2016,2016年12月计算机一级考试WPS判断题及答案
  4. 物联网生物识别技术在工作场所中发挥更大作用
  5. 整图下沉,MindSpore图引擎详解
  6. idea自动生成get set_CTO:不要在Java代码中写set/get方法了,逮一次罚款
  7. c c++ 函数内数组初值_C编程基础-关键字-函数和指针
  8. 【洛谷P1538】迎春舞会之数字舞蹈
  9. python微信自动打卡_「微信辅助」吃鸡再也不怕了,Python用wxpy实现微信自动回复...
  10. 启发式算法在最优化问题求解中的应用与实践
  11. [Vue.js] 深入 -- 组件化开发
  12. Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式
  13. 关于Ajax load页面中js部分$(function(){})的执行顺序
  14. 如何安装Pycharm和汉化包(包括安装软件,无广告)
  15. DM7达梦数据库介绍和安装
  16. oracle sqlplus命令登录数据库
  17. Web The7安装
  18. Error Based Injection和sql注入函数
  19. 固态硬盘是什么接口_笔记本固态硬盘的接口有哪些?来学习下笔记本SSD小知识...
  20. 大学计算机实验教程制作电子小报,word中电子小报怎么做?word电子小报的图文教程...

热门文章

  1. 计算机组成原理-Chapter1 计算机系统概述
  2. 跟我一起玩Win32开发
  3. 【解决方案】聚焦两会-国标EasyGBS流媒体平台在2021年两会重点工作环保充电桩的视频监控应用
  4. python错误类型翻译_17个新手常见的Python运行时错误
  5. Perl常用模块使用例子
  6. Redis 双写一致性问题分析
  7. 万分之一错误率问题的分析及定位
  8. MT4外汇平台哪家靠谱?靠谱的MT4外汇平台有什么特征?
  9. 【Cron】学习:cron 表达式
  10. 使用Folx下载多个文件时如何控制不同下载速度