29功能之VS下测试两个动态库头文件内声明同一宏是否会重定义

29功能之VS下测试两个动态库头文件内声明同一宏是否会重定义

1 在动态库的头文件测试
1)
首先在一个动态库的头文件中添加一个宏定义。然后生成动态库的lib和dll。
在这里插入图片描述

2)
同样在另一个动态库2的头文件添加同一个宏,并生成。
在这里插入图片描述

3)
将两个动态库的头文件和lib,dll按照创建动态库时的做法包含到当前项目中,防止编译出现错误。点击生成如下:
在这里插入图片描述

从结果中可以看到,两个动态库的头文件中定义同一个宏是不会造成宏重定义的。你可以按照命名空间去了解,即它们是两个不同命名空间的变量名一样的东西。

2 在动态库的cpp文件中测试
1)动态库1添加宏。
在这里插入图片描述

2)动态库2添加同一宏。
在这里插入图片描述

3)生成对应动态库文件,然后执行项目。
在这里插入图片描述

结果可以看到,你在cpp文件定义的宏根本就不会被导入到动态库中,所以结果显示SDK_宏未定义。
即可说明:若你想在自己的项目调用别人发布动态库的宏,别人封装时必须写在头文件中,否则你是无法调用的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值