zoukankan      html  css  js  c++  java
  • windows 动态库和linux动态库的一些东东

    首先库是个什么东东额,有什么作用?

    官方说法:库中都有一组实现好的函数接口,就是一些函数接口封装成库,方便调用

    民间说法:我就是不让你看,咋的,保密,核心,保密...你用就可以了塞!

    好了linux 下库的生成请看https://www.cnblogs.com/bwbfight/p/9262968.html,比较详细

    传说中windows的库怎么生成的呢?

    打开vs ,可以看到

    生成的项目选择DLL,便可!

      编译后生成的文件,有三个个文件比较重要

        msgreal.dll(动态库文件)

        msgreal.lib(动态库描述文件)

        msgreal.h(头文件)

    当然前提还需要首先

    1.选择需要生成库的函数文件:
      在需要导出的函数前面需要加_declspec(dllexport),即,动态库dll需要在所输出的“对象”前添加_declspec(dllexport)声明。

      头文件和实现函数可能都需要加!
    对于库的使用
    ,除了需要包含对应的头文件,静态库需要在文件中添加#prama comment(lib,"cof.lib")

    或者在有以下几种情况:

    1) 相同解决方案下,可在属性面板“框架与引用”添加静态库工程,并”c++”中添加include file即可

    2) 在“link”的附加依赖项添加库的目录,在“输入”中使用添加cof.lib(与pragma同)

      即在项目上右键--》属性-》链接器-》输入

    即可!

    拷贝msgreal.dll到代码目录,代码编译执行时有效

    生成exe如果执行又弹出,请安装msgreal.dll ,如何解决->拷贝一个msgreal.dll到exe目录即可!

    如果C:WindowsSysWOW64和exe目录都有一个my1.dll

    windows操作系统可能会先执行C:WindowsSysWOW64my1.dll,而不执行exe目录下的my1.dll,而如果C:WindowsSysWOW64my1.dll又是旧的版本,就可能出现问题,切记切记!

  • 相关阅读:
    js类中的static、public、private、protected
    BOM—Browser Object Model and DOM—Document Object Model
    Vue之vue中的data为什么是一个函数+vue中路径别名alias设置
    vue之nextTick
    情感分析-英文电影评论
    wiki中文语料的word2vec模型构建
    python正则表达式
    leetcode
    智力题
    Event Recommendation Engine Challenge分步解析第七步
  • 原文地址:https://www.cnblogs.com/bwbfight/p/9640101.html
Copyright © 2011-2022 走看看