C/C++混编,导出dll时,只有dll,没有lib

今日份踩坑!

1 C/C++混编,导出dll时,只有dll,没有lib

下面代码copy自网上,乍一览,没啥问题,直接用了
然而…就是导不出lib文件,只有dll怎么看都看不出问题…
求助于火眼金睛的同事后,发现,多了分号
在这里插入图片描述
2 #define的定义是直接将后面的模块放在该放的位置,也就是用图中[_declspec(dllexport)]替换到EXPORT的位置,从而导出后面链接的函数.而加了分号之后,代表一句话阶数,也即变为:
_declspec(dllexport);
void function();
如此,并没有把对应函数导出来,故没有生成lib文件.
在这里插入图片描述
大部分情况下,导出dll,没有lib,都是因为接口文件没有定义好,再看看你的接口文件吧!

3 C/C++混编的几个问题:

  1. C是不支持引用的!!!,.c文件里面的函数是不能用引用的
  2. .c的函数是不能调用.cpp的函数!!!
  3. .cpp可以调用.c
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值