![]() |
1
0
这是因为MSFT实现共享对象(或DLL)的一些细节。在Microsoft world中,为了将函数导入到进程中,您不仅需要共享代码本身(.dll),还需要特殊的“导入”库,即
通常,每次发布新版本的DLL时,所有使用该DLL的应用程序都必须与新版本的静态导入库重新链接(
|
![]() |
2
0
好的,如果你有。def文件您可以使用它创建导入库。 一、 e。 mydll.lib 对于MS VC++或 mylib-dll.a 对于GCC 编译器和链接器更喜欢自己的二进制格式导入库,通常彼此不兼容。当您的DLL是用C/C++编写的,而您的程序是用其他语言编写的,如Ada/FORTRAN/Object Pascal等,或者反之亦然,这一点尤其重要。所以def文件可用于创建兼容的导入库。 段落告诉您如何通过手动编辑从导入库中隐藏某些函数。DEF文件并指示链接器隐藏某些函数。 |
![]() |
S1mple · 通过gcc生成64位共享库时的“未定义的主引用” 2 年前 |
![]() |
hepl · gcc如何决定在创建可执行文件时使用dynamics库? 2 年前 |
![]() |
Altair · 使用共享库版本支持不同ABI的最佳实践是什么? 6 年前 |
![]() |
user2577547 · 如何将zstd库静态链接到动态库? 6 年前 |
![]() |
arc_lupus · 阻止从其他程序执行库中的函数 7 年前 |