Java 如何在OpenJDK开发中使用STL函数?
我需要在JDK源代码中使用STL函数,并编译和构建程序(java)。 当我使用任何STL函数时,例如Java 如何在OpenJDK开发中使用STL函数?,java,c++,Java,C++,我需要在JDK源代码中使用STL函数,并编译和构建程序(java)。 当我使用任何STL函数时,例如std::vector testingVector,它给出以下错误 Warning: No SCM configuration present and no .src-rev /home/srcshetty/Desktop/TheProjectParGC/ProjectParGC/ProjectParGC/JDK13_Dev/build/linux-x86_64-server-slowdebug/
std::vector testingVector代码>,它给出以下错误
Warning: No SCM configuration present and no .src-rev
/home/srcshetty/Desktop/TheProjectParGC/ProjectParGC/ProjectParGC/JDK13_Dev/build/linux-x86_64-server-slowdebug/hotspot/variant-server/libjvm/objs/test.o: Error: Use of global operators new and delete is not allowed in Hotspot:
U operator delete(void*)
See: /home/srcshetty/Desktop/TheProjectParGC/ProjectParGC/ProjectParGC/JDK13_Dev/make/hotspot/lib/CompileJvm.gmk
make[3]: *** [lib/CompileJvm.gmk:304: /home/srcshetty/Desktop/TheProjectParGC/ProjectParGC/ProjectParGC/JDK13_Dev/build/linux-x86_64-server-slowdebug/hotspot/variant-server/libjvm/objs/test.o.op_check] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [make/Main.gmk:249: hotspot-server-libs] Error 2
我认为这可能是一个不同标准的编译问题。因此,我在这里将编译标准从gnu++98更改为c++14
{JDK13_Dev}/make/autoconf/flags cflags.m4
(路径)
但是,它仍然给出了与以前相同的错误(而且我找不到其他地方可以更改编译的目标标准)
有人能告诉我,在OpenJDK源代码中是否可以使用STL函数并成功构建程序?这和其他类似的问题:这是否意味着我将无法在OpenJDK源代码中的任何地方调用新的操作符@理查德克里滕
$1_CXXSTD_CXXFLAG="**-std=c++14**"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG} -Werror],
PREFIX: $3, IF_FALSE: [$1_CXXSTD_CXXFLAG=""])
$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY="${$1_CXXSTD_CXXFLAG}"
$1_TOOLCHAIN_CFLAGS_JVM="${$1_TOOLCHAIN_CFLAGS_JVM} ${$1_CXXSTD_CXXFLAG}"
$2ADLC_CXXFLAG="${$1_CXXSTD_CXXFLAG}"