【 在 france00 的大作中提到: 】
: 请教大家个问题。
: 我使用了一个板子,其厂家同时提供了动态库(含dll和lib)、静态库。
: 查看静态库,里面的函数都带了前缀/后缀,导致静态调用时报错。导致使用静态库 fail了。
: ...................
动态库估计可能重新定义了导出名表, 使用导入导出名表的名字就可以访问。
静态库的名字前缀,并不是随便添加的, 编译器生成这些东西严格按照一定的规则,主要是为了
确定相同的函数名, 对应唯一的原型,用来应对C++多态 以及 C语言和Pascal的压栈方式不同,
还有, 对于那些参数编译器使用了哪些寄存器优化等等。
最简单的办法就是正确的引入头文件, 厂家既然提供了lib和dll, 按理说, 也应该提供了头文件,
头文件里有明确的函数原型, 根据原型, 编译器能对应相应的
--
FROM 115.171.244.*