关于dll中的extern "C"的问题 我制作了一个库,如果用c++语言写的话,声名输出函数必须前面加上extern"c" ,而用C语言写库的话,就没有这个问题,写出来的库能被C或c++程序使用。请问各位高手原因~~~~~~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 默认c++编译器会对名字作修饰,有诸如@YAH,主要包括参数的类型和参数大小的信息。其中一个重要的原因就是重载函数,如果两个重载函数都需要导出,那么就要用修饰名来区分了。关于具体原因参照《核心编程》,网上关于修饰名的介绍也很多。 谢谢楼上的朋友,不过你说的问题我也知道,通过加上extern "C"是为了使编译器对函数的编译采用C方式,但是不添加为什么不行呢?不能采用C++方式么? 如果你的客户端,就是倒入dll的应用程序不用c++方式调用的话,那么就找不到这个函数了你能保证你的客户一定是用c++编译吗如果它是vb的应用程序呢??所以在dll里面,加上extern"c" 在VC中如何设置datagrid 绑定数据源? 请教不用stl,mfc里面有可以计算平均值,最值的类或者方法吗? 保存CListView中的数据 在视图中显示字符串怎么垂直对齐?(这应该是经常遇到的情况吧,搜了一下以前的竟然没有) 为什麽windows提示JIT没有注册类别? 请教一个include的问题 如何让鼠标指针变成等待状态?漏斗? 请问 图象处理软件需求定义(或者说你需要什么样的图象处理软件),欢迎大家献计献策. 帮忙看几段Verilog hdl程序有什么功能 SDK方式的画线程序的问题 想让没有派生自CWnd的类接收用户消息,可以吗,如何实现??
关于具体原因参照《核心编程》,网上关于修饰名的介绍也很多。
你能保证你的客户一定是用c++编译吗
如果它是vb的应用程序呢??所以在dll里面,加上extern"c"