【C++】__declspec(dllexport)和__declspec(dllimport)的作用、__attribute__((visibility(“default“)))

16 篇文章 1 订阅 ¥9.90 ¥99.00
本文详细解释了C++中__declspec(dllexport)和__declspec(dllimport)的用途,它们在创建和使用DLL时确保正确导出和导入函数及变量。同时介绍了__attribute__((visibility("default")))在非Windows平台下控制符号可见性的角色,以避免动态链接库之间的符号冲突。文章通过实例和参考资料深入解析了这些特性。
摘要由CSDN通过智能技术生成

参考:https://blog.csdn.net/yaotuzhi/article/details/108037549

C++工程源码,在其头文件里,经常有__declspec(dllimport)这种形式的语句。不明白其含义,遂查阅资料。

首先要知道,头文件是C++的接口文件,不仅本工程需要使用头文件来进行编译,给其他工程提供dll的时候也要提供此dll的头文件才能让其他人通过编程的方式来使用dll。

注意: 头文件不仅要给自己用,还可能要给别人用。

使用方法: 头文件中声明了方法,在提供者那里方法应该被声明为__declspec(dllexport),在使用者那里,方法应该被声明为__declspec(dllimport)

比如一个项目中的Class中含有一个静态变量,生成dll的时候只采用了__declspec(dllexport) 如下:

dll工程,A.h:

  #define OS_API_EXPORT __declspec(dllexport)

  class OS_API_EXPORT A {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叹了口丶气

觉得有收获就支持一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值