动态库调用静态库
1 用一个DLL去封装一个已经静态库LIB有问题吗?
static lib提供的接口:
void libfun1();
void libfun2();
dynamic dll用到static lib的接口:
void dllfun1() { libfun1(); }
void dllfun2() { libfun2(); }
2 如果EXE使用静态库lib中的接口(不是DLL),在EXE被调用内存(或部分调用内存)中,她是如何调用静态库Lib中的函数的(如何找到函数在静态库中的相应的物理地址的)。最终EXE的大小肯定大于静态库Lib吗?此时静态库Lib与EXE已经合成一体?
3 如果EXE使用动态库DLL中的接口(是隐式调用),那么EXE与DLL在内存的分配是两个部分,不是一体的,这样当EXE使用DLL中的接口时, 已经在编译过程中DLL的根据导出符号表*.lib知道了DLL中函数的物理地址的,从而在运行时知道如何调用相应的函数。