纯C .dll各种编译器的编译结果是二进制兼容的吗
dll是windows专用的,只要文件遵守了Portable Executable格式就可以被windows正确识别并执行,不论是哪个编译器做的,哪怕是用二进制编辑器从零手写的。当然包含的机器码必须是同一架构的。在linux和mac上只要遵守elf和Mach-O格式就可以。dll中的导出表仅包含地址,用C语言表示就是一个函数指针的值。其它程序代码如果想调用函数必须还要知道参数和返回值类型以及调用规约,这部分信息就是头文件中的函数定义。如果参数或调用规约不匹配,程序很可能会crash。
推荐阅读
- 耻骨|韧带痛、耻骨也痛,从来没有这么痛过,痛了两个多星期了!”厦门孕妈崩溃:“孕晚期各种不舒服
- 重点|注意别踩这些“坑”冬季各种“花式取暖”
- 一品车社|又一辆日产封神了,当年40万没人要,这会儿60万各种抢
- 汽车知识|7.8万买到顶配版,各种配置一应俱全,别克英朗车主说:很划算
- 去哪看各种数码产品发布会的视频
- 都有啥画画培训机构南京晓庄这边
- 2017年各种语言的就业形势怎样(Android,iOS,PHP,Java,前端)
- 如今微博、微信等社交工具这么多,你怎样维护各种社交账号的活跃度
- 安卓后台进程经常被杀是一种怎么样的体验
- 杨紫|杨紫头号\黑粉\竟是亲妈, 朋友圈晒女儿各种沙雕照, 粉丝看不下去了
