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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页