1. lib文件是什么
.lib是一种文件名后缀,该文件为Windows操作系统中的库文件,相当于Linux中的·回a或·o、.so文件。
lib文件通过答编译才可以使用,编译分静态与动态之分。
静态编译
静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序。
动态编译
动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持。
2. Windows系统中的lib文件是做什么用的
lib有静态lib和动态lib之分。 静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序回 动态lib相当于一个答h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持 lib文件是不对外公开的,不能查看一个编译过后的文件 有几个选择: 1。如果你查看有同名的dll文件,可以通过vc自带的depends查看dll接口 2。通过msdn看你使用的该lib包含的函数名,来查找其对应的头文件,头文件里面有整个lib的函数声明(可能不全) 3。查看vc或者其他工具安装目录下的src目录,查看函数的代码 lib文件是二进制文件,所以要查看它的内容,只能反汇编。 用编程语言,打开lib文件的办法有三个: 1、在object/library moles使用全路径名; 2、把*.lib放在VC的Lib目录中 3、修改project setting的Link->Input中的Addtional library path,加入你的目录
3. windows中LIB和DLL的区别与使用
关于lib和dll的区别如下:(1)lib是编译时用到的,dll是运行时用到的。如果要完成源代码的编译,只需要lib;如果要使动态链接的程序运行起来,只需要dll。(2)如果有dll文件,那么lib一般是一些索引信息,记录了dll中函数的入口和位置,dll中是函数的具体内容;如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。使用静态编译的lib文件,在运行程序时不需要再挂动态库,缺点是导致应用程序比较大,而且失去了动态库的灵活性,发布新版本时要发布新的应用程序才行。(3)动态链接的情况下,有两个文件:一个是LIB文件,一个是DLL文件。LIB包含被DLL导出的函数名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到DLL文件。在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中相应函数代码的地址,从而节省了内存资源。DLL和LIB文件必须随应用程序一起发行,否则应用程序会产生错误。如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载。
4. windows下socket编程,需要包哪些头文件和dll或者lib啊
如果你用VC下的MFC工程那么只需要添加一个头文件#include <afxsock.h>并且做初始化AfxSocketInit();这个初始化最好在app类对话框创建之前做.如果你是其他项目就可能会用到#include <winsock.h>#include <winsock2.h>常用的就这两个另外库可能会用到#pragma comment(lib,"winsock.lib")#pragma comment(lib,"ws2_32.lib")可能会用到这两个库,具体根据你用了那些API而定
5. winmm.lib是window自带的吗
不是,是在你装的VC6.0里边。具体路径是:Microsoft Visual Studio、VC98、Lib 文件夹里,容量43KB
6. DLL 文件是WINDOWS特有的么,和CPP文件,LIB文件有什么区别
是的,但并不只是系统文件,很多软件其实也包括有dll文件的,.cpp是C++的程序文件 .lib是一种文件名后缀,该文件为Windows操作系统中的库文件,本质上没什么区别
7. sqlite数据库 在windows下的sqlite.lib的库文件
1). 打开VC新建一个“Win32 Dynamic-Link Library”工程,命名为:sqlite32). 在接下来的对话框中选择"An empty DLL project",点 FINISH->OK3). 将源码中所有的 *.c *.h *.def 复制到工程文件夹下4). 在工程的Source File中添加你下载到的SQLite源文件中所有*.c文件,注意这里不要添加shell.c和tclsqlite.c这两个文件。5). 将 SQLite 源文件中的 sqlite3.def 文件添加到在工程的Source File中6). 在Header File中添加你下载到的SQLite源文件中所有*.h文件,7). 开始编译,Build(F7)一下也许到这里会遇到一个错误:e:\zieckey\sqlite\sqlite3\sqlite3ext.h(22) : fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory经检查发现,源码中包含sqlite3.h都是以 #include <sqlite3.h> 方式包含的,这就是说编译器在系统默认路径中搜索,这样当然搜索不到 sqlite3.h 这个头文件啦,这时可以改为 #include "sqlite3.h" ,让编译器在工程路径中搜索,但是如果还有其他地方也是以 #include <sqlite3.h> 方式包含的,那么改源码就显得有点麻烦,好了,我们可以这样,在菜单栏依次选择:Tools->Options…->Directeries在下面的Directeries选项中输入你的 sqlite3.h 的路径,这里也就是你的工程目录.添加好后,我们在编译一下就好了,最后我们在工程目录的 Debug 目录生成了下面两个重要文件:动态链接库文件 sqlite3.dll 和引入库文件 sqlite3.lib二. 使用动态链接库下面我们来编写个程序来测试下我们的动态链接库.在VC下新建一个空的"Win32 Console Application" Win32控制台程序,工程命名为:TestSqliteOnWindows再新建一个 test.cpp 的C++语言源程序,源代码如下:// name: test.cpp// This prog is used to test C/C++ API for sqlite3 .It is very simple,ha !// Author : zieckey// data : 2006/11/28#include <stdio.h>#include <stdlib.h>#include "sqlite3.h" #define _DEBUG_int main( void ){sqlite3 *db=NULL;char *zErrMsg = 0;int rc;rc = sqlite3_open("zieckey.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件if( rc ){fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return (1);}else printf("You have opened a sqlite3 database named zieckey.db successfully!\nCongratulations! Have fun ! ^-^ \n");
8. 如何看懂lib文件里的东西
想用一个静态库必须要里面函数的声明,就是头文件。有些动态库都需要头文件呢~没有头文件绝对不可能。完全看懂是不可能的。要是看懂了相当于反编译了! 如果只要使用,找出一部分函数是有可能的。 你去网上搜索一下“lib 文件结构” 其实可以看到一部分,看到一些函数,你用记事本打开lib。可以看到 [email protected]@@zzz 之类的东西。 zzz代表函数名,yyy代表该函数所在的类名,zzz代表参数类型。 可以猜到一部分`~,这个是C++写成的库,C语言写的库是没有类名和参数名的(因为不支持类也不支持重载)。 你再把相映的头文件自己补写上, 再#include "头文件" #pragma comment(lib,"lib文件"); 祝你好运了~~
9. 怎么看lib文件
前提是你必须正确的使用,否则编不过的反过来说,如果你能正确的用,你也就可以自己写一个h文件了,哈哈。或者说,你如果要使用一个lib,在没有h文件的情况下,是很难的2、有这样的软件,可以看懂lib里面的东西,比如mpbin.exe通常windows系统里面的lib文件是COFF格式的,网上有很多COFF格式的介绍,你可以看下VC各个版本的开发环境,生成的LIB文件,都是采用COFF格式的开发环境自带的有个mpbin.exe的文件,可以把lib文件解出来,方便分析其内部的东西的。但BORLAND公司出的开发环境,也许使用的CMF格式的,网上也有介绍的。而嵌入式开发环境下的LIB文件,通常采用的是ELF的格式
10. 在windows操作系统中,文件的目录结构什么型的啊
1.文件目录结构一般有一级目录结构、二级目录结构和多级目录结构。
2.您所说的windows操作系统的目录结构是树形结构。
3.就像一棵树,它的树干就是根目录,然后第一个分枝之后是第一层目录
总结:这种类型的结构就是树形文件目录结构,希望有帮到你!