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文件。