openjdk 代码编译/ IDE 设置
openjdk code compilation/ IDE setup
我正在尝试了解 openjdk vm 代码,特别是 gc 代码库。我试图在 CLion 中打开,但它显示了很多错误。是否有说明如何设置和导航代码的文档?
OpenJDK 源代码分发包括 NetBeans 项目 nbproject - just open this project in NetBeans IDE with C/C++ development pack。该项目已包含 Solaris、Linux 和 MacOS 的配置。这是分步说明(我没有检查它们):
- http://marcelinorc.com/2016/02/17/using-netbeans-to-hack-openjdk9-in-ubuntu/
- https://dzone.com/articles/hack-openjdk-netbeans-ide
对于 CLion,您可以使用 the following instructions。
如果你对热点项目感兴趣——你可以使用这个CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(hotspot)
set(CMAKE_CXX_STANDARD 98)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE \
-D_REENTRANT \
-DLINUX -DINCLUDE_SUFFIX_OS=_linux -DVM_LITTLE_ENDIAN \
-DTARGET_COMPILER_gcc \
-DAMD64 -DHOTSPOT_LIB_ARCH='amd64' -DINCLUDE_SUFFIX_CPU=_x86 -D_LP64 -DTARGET_ARCH_x86 \
-DCOMPILER1 -DCOMPILER2")
include_directories(
src/share/vm
src/os/linux/vm
src/cpu/x86/vm
src/os_cpu/linux_x86/vm
src/share/vm/precompiled)
set(SOURCE_FILES
// CLion will generate includes here automatically on project initialization
)
add_executable(hotspot ${SOURCE_FILES})
我正在尝试了解 openjdk vm 代码,特别是 gc 代码库。我试图在 CLion 中打开,但它显示了很多错误。是否有说明如何设置和导航代码的文档?
OpenJDK 源代码分发包括 NetBeans 项目 nbproject - just open this project in NetBeans IDE with C/C++ development pack。该项目已包含 Solaris、Linux 和 MacOS 的配置。这是分步说明(我没有检查它们):
- http://marcelinorc.com/2016/02/17/using-netbeans-to-hack-openjdk9-in-ubuntu/
- https://dzone.com/articles/hack-openjdk-netbeans-ide
对于 CLion,您可以使用 the following instructions。
如果你对热点项目感兴趣——你可以使用这个CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(hotspot)
set(CMAKE_CXX_STANDARD 98)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE \
-D_REENTRANT \
-DLINUX -DINCLUDE_SUFFIX_OS=_linux -DVM_LITTLE_ENDIAN \
-DTARGET_COMPILER_gcc \
-DAMD64 -DHOTSPOT_LIB_ARCH='amd64' -DINCLUDE_SUFFIX_CPU=_x86 -D_LP64 -DTARGET_ARCH_x86 \
-DCOMPILER1 -DCOMPILER2")
include_directories(
src/share/vm
src/os/linux/vm
src/cpu/x86/vm
src/os_cpu/linux_x86/vm
src/share/vm/precompiled)
set(SOURCE_FILES
// CLion will generate includes here automatically on project initialization
)
add_executable(hotspot ${SOURCE_FILES})