dll库生成的位数或方式不同。通常dll里函数无法获取是因为dll库生成的位数或方式不同导致的,若dll库是在64位的qt中生成的,则32位的qt无法调用此依赖库。dll,动态链接库,在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。
函数名可以查到,vc工具的depend就可以了,其他也有不少工具可以查到,声明的没有,声明没有编译到dll里的,声明包括函数名、参数和返回值。函数名说了,参数得通过反汇编得到,由于函数里通过堆栈来获得参数值,通过反汇编该函数,从函数头开始找出取堆栈的代码,可以找出该函数的参数个数和类型。参数的含意得读懂函数的反汇编代码,了解各参数的使用才能确定参数用途了。返回值在windows中是通过寄存器eax来返回的,如果返回的值小于32位,就用eax保存值,大于32位就用eax保存返回值的地址,所以要知道返回值的类型,得了解函数最好把什么存到eax中,存的值是什么才能知道返回值。
以上就是关于dll里函数无法获取全部的内容,包括:dll里函数无法获取、如何查看DLL中的函数信息、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)