现在假如有一个 .lib的库,比如说文件名是a.lib但是没有相应的a.h
文件。那么在使用这个库的时候,是没有办法把include这个 a.h文件的,
程序里调用了这个库的函数,在编译的时候应该不会通过的吧?
请问,有神么办法可以在没有.h文件的时候使用这个库?

解决方案 »

  1.   

    首先你必须知道你要从a.lib中调用的函数的原型,你如果连原型都不知道,你怎么调用呢?原型知道的话,你直接写出来不就行了,比如有Func1函数,你先声明:extern int Func1(char *);
    然后调用就行了
      

  2.   

    兄台,这个是别人问我的问题,他不知道在那里搞到一个.lib文件,但是没有相应的.h文件
    所以根本就不清楚.lib里的函数的原型是什么,当然,如果知道原型的声明,直接用就可以了
    。现在我想问有没有什么方法可以从.lib文件中得到或者看出,甚至猜出函数原型的。
    比如说有没有反汇编工具可以解决的。
      

  3.   

    如果有DLL文件可以用VC附带的工具看到里面的引出函数。你也可以直接用文本编辑器打开.lib文件,里面有一些函数名称是文本格式的。本来就不是正常渠道拿来得东西,只能自己一点点试了。祝好运
      

  4.   

    我用了一下seansoe的办法,使用ultraedit打开tc的一些.lib库,看到的都是乱码啊,
    要是猜的话,难度还真是大,另外,不同的编译器生成的二进制代码可能也会有所不同。