大家好
我是使用VC
最近遇到一些问题 google不太到想要的答案
也许是关键字下的不够精确
问题是这样的
我自己在export dll的时候
通常产出的dll 跟对应的lib 关系都是1对1 , 用dumpbin 看dll & lib 所 export的
function 都是一致的
工作上我使用微软提供的API
让我产生以下两个问题
1. (不确定有没办法做到)怎么让一个lib export的function 是在多个dll里面而不是单
一dll ?
我exe 设定link A.lib, 实作却散落在A.dll跟B.dll甚至更多?
2. (确定做得到)怎么让一个lib partial export function, 实际上对应的到的dll 可能
export更多
例如我用dumpbin看lib有两个function, 可是dll却出现十几个.
这可能是微软只想export 某几个API给user mode使用可是dll却埋著其他API
真的有心可以用loadlibrary去用, 我自己想到的办法
难道是DEF档案先写要开放的function编译一次产生partial lib
之后再把全部补上 产生dll给使用者?(应该不可能这样)
因为我拿到的.h档案只有两个function 所以赶到很好奇他怎编译的
3. 假设我真的发现dll里面有埋藏一个API想使用看看, 我找不到header
我有没有办法得到这个function的完整prototype? 让我可以用loadlibrary..
symbol table没有纪录, 难道就没办法得知了吗?
以上
我以为跟DEF档案有关连, 但试试看验证发现我还是无法解释上面的问题
想请问各位 给我一点hint也好...
感激