VC中重用库,会用到 *.h,*.dll,*.lib而且,要编译的话,三者缺一不可,而且一直不能区分dll,lib的区别在VB中一般只要用到dll就行了,没有VC中的lib,vc中的*.h,相当于VB中TLB,但VC要编译,一定要用到lib,不知道这些编译的原理,是怎么进行连接的呀,dll,lib 扮演了什么角色呀请高手帮忙答疑!!

解决方案 »

  1.   

    lib是链接时用到的,提供符号表
      dll是运行时用到的,提供内容
      

  2.   

    *.h,*.dll,*.lib
    具体来奖是:
    *.h是编译用,编译只是看不是认识你代码里面所有的东西。
    *.lib是连接用,Link,  1 *.lib有2种,一种动态的,一种静态的,
    动态的只记录了函数名和接口,没有代码,   而静态的里面是包括了代码的,
    在link是就拷贝*.lib的代码到exe中了,这样执行时是不需要dll的,
    *.dll包括了代码。根据exe中的import Table动态加载,然后运行。