linux之so文件、a文件、o文件的区别
生活随笔
收集整理的這篇文章主要介紹了
linux之so文件、a文件、o文件的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、o文件
o 就相當于windows里的obj文件 ,一個.c或.cpp文件對應一個.o文件.o 文件是源碼編譯出的二進制文件。
你先得了解從源代碼到可執行文件的過程。以一個簡單的add函數源文件為例。
int add(int a,int b) {return a+b; }先預處理為.i文件
gcc -E add.c -o add.i
再編譯為匯編文件
gcc -S add.i -o add.s
再匯編為二進制的.o文件
gcc -c add.s -o add.o
好,現在.o文件出來了。它就是C/C++編譯的產物,因為C/C++編譯的單元編譯。每一個.c/.cpp文件就是一個編譯單元,把所有單元都編譯好之后,再連接成一個完成的程序。
2、a文件
.a文件實質上就是.o文件打了個包。一般把它叫做
總結
以上是生活随笔為你收集整理的linux之so文件、a文件、o文件的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之如何用dextra.EL
- 下一篇: linux之用route命令看简单路由信