編譯依賴關系查詢系統
一、可執行文件/二進制文件依賴共享庫
ldd命令用來查看可執行文件依賴的共享庫文件。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享庫依賴共享庫關系
上面的ldd命令無法查看共享庫的依賴關系,因為共享庫本身並不是可執行文件,我們可以使用
objmp -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的庫名稱。
附:
readelf命令用於讀取ELF Header信息
B. C的編譯與運行依賴操作系統嗎
這是當然的
C語言最編譯生成目的機器的
機器指令
代碼。
不同的機器有不同的指令集
IA-32,SPARC,POWER
PC
等的機器指令集都不相同的,如果一個
C程序
需要其它平台上運行,需要在該平台上重新編譯方可執行
C. 6.2、Android Studio 添加編譯依賴
文章摘要
1、 三種依賴類型
2、庫依賴關系配置
3、遠程倉庫
4、查看依賴關系樹
英文文獻
Android Studio中的搖籃構建系統可以很容易地包括外部的二進制文件或其他庫模塊到您的構建與依賴。該依賴性可以位於您的計算機上或遠程倉庫中,他們宣布任何傳遞依賴將自動包括在內。
要添加一個依賴於你的項目,指定諸如依賴配置compile在dependencies您的塊build.gradle文件。
例如,下面build.gradle為應用模塊文件包括三種不同類型的依賴關系:
每個這些要求不同類型的依賴關系如下:
此聲明一有依賴性 的Android庫模塊 名為「在MyLibrary」(此名稱必須定義為庫名稱相匹配include你的 settings.gradle 文件)。它需要構建系統編譯庫模塊與應用模塊,並在您的APK所產生的AAR文件。
由於Gradle讀取相對路徑的build.gradle 文件,這告訴構建系統添加您的項目內的所有JAR文件 mole_name/libs/的目錄的依賴。
或者,您可以指定單獨的文件如下:
這實際上是以下簡寫:
這宣告了「應用程序魔」庫的12.3版本的依賴,在「code.example.android」命名空間組內。
內側dependencies塊,可以聲明使用幾種不同的一個庫依賴依賴關系配置(諸如compile上面示出)。每個相關配置提供了搖籃有關如何使用圖書館不同的指令。下面的列表描述了每個可使用在你的Android項目庫依賴的配置。
以上配置適用於項目的主要來源集,它適用於所有的構建變種。
如果你不是想聲明的依賴只有特定的 構建變數 源設置或更改一個 測試源設置 ,你必須利用配置名稱以及與構建變數或測試源集的名稱前綴它。
例如,在添加compile
依賴關系只為您的「免費」產品的風味(使用遠程二進制依賴),它看起來像這樣:
但是,如果你想添加一個依賴於結合了產品的風味變體和構建類型,那麼你必須初始化的配置名稱configurations塊。下面的示例增加了一個apk依賴於你的「freeDebug」打造變種(使用本地二進制依賴):
要添加compile為本地測試和儀表測試的依賴性,它看起來像這樣:
如果你的 庫模塊提供了多個變種 ,你可以添加不同的庫變體像這樣不同的應用程序變數:
當你的依賴比當地的圖書館或文件樹以外的東西,搖籃會在哪個在線存儲庫中指定的文件 repositories的塊build.gradle文件。
默認情況下,新的Android Studio項目申報JCenter作為該項目的頂級存儲庫位置build.gradle的文件,如下圖所示:
如果你想從Maven的中央倉庫的東西,然後再添加 mavenCentral(),或本地存儲庫使用mavenLocal():
參考配置:
有些直接依賴可能有自己的依賴。這些被稱為 傳遞依賴 。而不是要求您手動聲明每個傳遞依賴,搖籃自動收集,並增加了它們。為了形象化兩個項目的直接和傳遞依賴,對於搖籃的Android插件提供了生成依賴關系樹為每個搖籃任務 構建變數 和 測試源集合 。
要生成此報告,步驟如下:
下面的示例報告顯示調試構建變數的依賴關系樹,包括前面例子中的本地庫模塊依賴和遠程依賴性。
D. ant怎麼編譯帶有依賴關系的類
1.所有的類一起編譯。
2.你的父添加到classpath中。
3.ant 中添加 classpath 下邊是例 子。
<javac destdir="${classes.dir}" srcdir="${src.dir}" encoding="UTF-8">
<classpath refid="classespath" />
</javac>
E. 怎麼查看makefile編譯依賴關系
目標,依賴,命令(規則),第一項目標,然後會有個:號,後面的就是依賴了
例如 hello.o : hello.c, a.o, b.o
gcc hello.c hello.o
hello.c, a.o,b.o就都是依賴,就這樣
F. 如何查看android系統源碼編譯依賴jdk版本
因為1.4的有些寫法在1.6下是被認為不安全的,所以被禁用了
要麼是按照提示,在JCreator的編譯選項中加入 -Xlint:unchecked重做
要麼就是把JDK換成1.4的