A. .a文件是用什么软件编辑的呢
每个应用程序开发者他可以自己写他的应用程序所需要的文件的后缀(多数是配置文件),只要他自己的应用程序能够读取就行了。这类开发者可能并不遵循公有的标准,可能只是不想自己的劳动成果被别人拿去吧~~
B. 编译minix操作系统时,总有提示没有找到后缀名为.a的文件,.a文件是什么文件怎么生成
.a文件是.o文件的集合,可用ar -tv命令查看里面包含的.o文件。
ADS编译选项小技巧
2005-12-01 12:50
今天收到了中文之星发来的输入法文件,发现生成的库文件是.a后缀的,因为习惯使用.lib形式的后缀,又担心直接修改后缀名称会出问题,所以想研究一下怎么把.a修改成.lib文件。
命令行模式下输入armar查询参数,发现了几个比较需要的参数:
-x Extract members in <file_list> placing in files of the same name.
-t Print table of contents of archive.
-create Force creation of a new archive.
于是,输入armar -t csk2.a查看了库文件的组成文件列表,然后输入armar -x csk2.a解压出全部.o文件,最后armar -create csk2.lib *.o,成功生成csk2.lib。比较csk2.a和csk2.lib发现有一个数字不一样,估计是生成时间不一样,现在想想或许直接改后缀就可以了。虽然走了弯路,但是通过查询编译参数还发现了不少好用的功能,这里就不列举了附上参数表,自己慢慢研究。
-r Insert files in <file_list>, replace existing members of the same name.
-d Delete the members in <file_list>.
-x Extract members in <file_list> placing in files of the same name.
-m Move files in <file_list>.
-p Print files to stdout.
-a pos Insert/move files after file named <pos>.
-b pos Insert/move files before file named <pos>.
-u Update older files only, used with -r.
-n Do not add a symbol table to an object archive.
-s Force regeneration of archive symbol table.
-t Print table of contents of archive.
-zs Show the symbol table.
-zt Summarize the archive contents (sizes + entries).
-c Suppress warning when a new archive is created.
-C Do not overwrite existing files when extracting.
-T Truncate file names to system maximum length.
-v Give verbose output.
-create Force creation of a new archive.
-via file Take additional arguments from via file.
-sizes List the size of each member and the library total.
-entries List sections containing ENTRY points.
-vsn Print the current Armar Version.
-help Print this message.
Examples:-
armar -r mylib.a obj1 obj2 obj3...
armar -x mylib.a ?sort*
armar -d mylib.a hash.o
armar -tv ansilib.a
C. Linux里.a文件是什么啊
您好,.a文件是Linux下面的开发文件,相当于windows下面的obj文件的组合,用于静态链接!
D. c中的.a文件
LINUX系统中.a文件是静态链接库文件。所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分。当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源。
.so文件是共享库文件(动态链接)。动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息)。仅当应用程序被装入内存开始运行时,在操作系统的管理下,才在应用程序与相应的.so之间建立链接关系。
E. a 是什么文件如何使用 a文件
.a文件是编译过程中生成的,每个package都会生成对应的.a文件,Go在编译的时候先判断package的源码是否有改动,如果没有的话,就不再重新编译.a文件,这样可以加快速度。
F. 编译时怎么使用.a文件
编译时怎么使用.a文件
for example:(1)动态库的编译
这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so。
命令:$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so
G. 如何将.c后缀文件转换为.a的
这个不是转换的产生的。它是Linux下编译产生的临时文件,用gcc 编译
1 gcc -c test_a.c
2 gcc -c test_b.c
3 ar -r libtest.a test_a.o test_b.o
H. .a文件是什么VC6.0编译出现错误,怎么在编译的时候把.a文件也加进去
.a文件是GCC编译器用的,VC编译器无法使用。
你要换GCC编译器的话集成开发环境也不能用VC,要换。
Windows下也是可以用GCC的,不过你要确定你拿到的.a不是Linux下生成的
然后这里面名堂就多了我一下子也讲不清于是只能让你自己慢慢去找这方面的资料了。
I. 怎么查看.so或者.a文件是用什么工具编译生成的
file xxx.so
J. .a文件.o文件和.so文件有什么区别
o: 编译的目标文件 a: 静态库,其实就是把若干o文件打了个包 so: 动态链接库(共享库) lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息 la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息。
我们通常把一些公用函数制作成函数库,供其它程序使用,函数库分为静态库和动态库两种,静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。