openjdk常用編譯引數----摘錄《深入理解java虛擬機器》第三版
編譯引數可能以後用的到,因此將其摘錄下來方便日後回來找
來自原文的1.6.4節 進行編譯
需要下載的編譯環境和依賴專案都齊備後,我們就可以按照預設配置來開始編譯了,但通常我們 編譯OpenJDK的目的都不僅僅是為了得到在自己機器中誕生的編譯成品,而是帶著除錯、定製化等需 求,這樣就必須瞭解OpenJDK提供的編譯引數才行,這些引數可以使用“bash configure–help”命令查詢 到,筆者對它們中最有用的部分簡要說明如下:
–with-debug-level=<level>:設定編譯的級別,可選值為release、fastdebug、slowde-bug,越往後進 行的優化措施就越少,帶的除錯資訊就越多。還有一些虛擬機器除錯引數必須在特定模式下才可以使 用。預設值為release。
–enable-debug:等效於–with-debug-level=fastdebug。
–with-native-debug-symbols=<method>:確定除錯符號資訊的編譯方式,可選值為none、 internal、external、zipped。
–with-version-string=<string>:設定編譯JDK的版本號,譬如java-version的輸出就會顯示該資訊。 這個引數還有–with-version-<part>=<value>的形式,其中part可以是pre、opt、build、major、minor、 security、patch之一,用於設定版本號的某一個部分。
–with-jvm-variants=<variant>[,<variant>…]:編譯特定模式(V ariants)的HotSpot虛擬機器,可以 多個模式並存,可選值為server、client、minimal、core、zero、custom。
–with-jvm-features=<feature>[,<feature>…]:針對–with-jvm-variants=custom時的自定義虛擬機器特 性列表(Features),可以多個特性並存,由於可選值較多,請參見help命令輸出。
·–with-target-bits=<bits>:指明要編譯32位還是64位的Java虛擬機器,在64位機器上也可以通過交叉 編譯生成32位的虛擬機器。
–with-<lib>=<path>:用於指明依賴包的具體路徑,通常使用在安裝了多個不同版本的Bootstrap JDK和依賴包的情況。其中lib的可選值包括boot-jd、freetype、cups、x、alsa、libffi、jtreg、libjpeg、 giflib、libpng、lcms、zlib。
–with-extra-<flagtype>=<flags>:用於設定C、C++和Java程式碼編譯時的額外編譯器引數,其中 flagtype可選值為cflags、cxxflags、ldflags,分別代表C、C++和Java程式碼的引數。
–with-conf-name=<name>:指定編譯配置名稱,OpenJDK支援使用不同的配置進行編譯,預設會 根據編譯的作業系統、指令集架構、除錯級別自動生成一個配置名稱,譬如“linux-x86_64-serverrelease”,如果在這些資訊都相同的情況下儲存不同的編譯引數配置,就需要使用這個引數來自定義配 置名稱。
以上是configure命令的部分引數,其他未介紹到的可以使用“bash configure–help”來檢視,所有引數均通過以下形式使用:
bash configure --enable-debug --with-jvm-variants=server
相關文章
- 深入理解Java虛擬機器之自己編譯JDKJava虛擬機編譯JDK
- 深入理解Java虛擬機器(程式編譯與程式碼優化)Java虛擬機編譯優化
- 深入理解java虛擬機器Java虛擬機
- Java虛擬機器3:常用JVM命令引數Java虛擬機JVM
- 深入理解Java虛擬機器(一)Java虛擬機
- 深入理解Java虛擬機器(二)Java虛擬機
- 【深入理解Java虛擬機器】垃圾回收Java虛擬機
- 《深入理解 Java 虛擬機器》筆記整理Java虛擬機筆記
- [深入理解Java虛擬機器]執行緒Java虛擬機執行緒
- 《深入理解Java虛擬機器》個人筆記Java虛擬機筆記
- 深入理解Java虛擬機器-程式編譯與程式碼最佳化,華為Java影片面試Java虛擬機編譯面試
- 《深入理解java虛擬機器》學習筆記4——Java虛擬機器垃圾收集器Java虛擬機筆記
- 深入理解Java虛擬機器8 虛擬機器位元組碼執行引擎Java虛擬機
- 《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體Java虛擬機記憶體
- 《深入理解Java虛擬機器》-周志明 -第3版-第一章摘記Java虛擬機
- 深入理解Java虛擬機器(類載入機制)Java虛擬機
- 深入理解Java虛擬機器 - 類載入機制Java虛擬機
- 深入理解java虛擬機器之垃圾收集器Java虛擬機
- 深入理解Java虛擬機器筆記之五GC日誌和垃圾收集器引數Java虛擬機筆記GC
- [深入理解Java虛擬機器]第三章 垃圾收集器及相關引數Java虛擬機
- 深入理解Java虛擬機器之實戰OutOfMemoryErrorJava虛擬機Error
- 深入理解Java虛擬機器之垃圾回收篇Java虛擬機
- 《深入理解Java虛擬機器》讀書筆記Java虛擬機筆記
- 《深入理解java虛擬機器》學習筆記7——Java虛擬機器類生命週期Java虛擬機筆記
- (深入理解 Java虛擬機器)一篇文章帶你深入瞭解Java 虛擬機器類載入器Java虛擬機
- 深入理解虛擬機器之虛擬機器類載入機制虛擬機
- [深入理解Java虛擬機器]第十章 程式編譯與程式碼優化-早期(編譯期)優化Java虛擬機編譯優化
- 深入理解java虛擬機器——讀書筆記1Java虛擬機筆記
- 深入理解Java虛擬機器(類檔案結構)Java虛擬機
- 深入理解Java虛擬機器 – 類檔案結構Java虛擬機
- [深入理解Java虛擬機器]垃圾回收演算法Java虛擬機演算法
- [深入理解Java虛擬機器]第二章 HotSpot虛擬機器物件探祕Java虛擬機HotSpot物件
- 《深入理解java虛擬機器》讀書筆記1(走近java)Java虛擬機筆記
- 深入理解虛擬機器之垃圾回收虛擬機
- Java虛擬機器(JVM)引數配置說明薦Java虛擬機JVM
- 深入理解虛擬機器之虛擬機器位元組碼執行引擎虛擬機
- 深入理解Java虛擬機器--個人總結(持續更新)Java虛擬機
- 《深入理解Java虛擬機器(第2版)》分享下載Java虛擬機