- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经下载了 JDK 8.20:https://jdk8.java.net/download.html
里面有一个src.zip,看起来像是嵌入的例子,但是没有makefile或者其他构建脚本。
目录/launcher/包含文件:
defines.h
emessages.h
java.c
java.h
java_md.h
java_md_common.c
java_md_solinux.c
java_md_solinux.h
jli_util.c
jli_util.h
main.c
manifest_info.h
parse_manifest.c
splashscreen.h
splashscreen_stubs.c
version_comp.c
version_comp.h
wildcard.c
wildcard.h
我制作了这个小 build.sh 脚本:
# -m32 = 32bit for embedding
# -I. for fake jvm.h, because it does not exist and fails on including it otherwise
options="-m32 -I/root/openjdk8/jdk1.8.0_20/include/ -I/root/openjdk8/jdk1.8.0_20/include/linux/ -I."
echo "COMPILE java.c"
gcc -c java.c -o java.o $options
echo "COMPILE java_md_common.c"
gcc -c java_md_common.c -o java_md_common.o $options
echo "COMPILE java_md_solinux.c"
gcc -c java_md_solinux.c -o java_md_solinux.o $options
echo "COMPILE jli_util.c"
gcc -c jli_util.c -o jli_util.o $options
echo "COMPILE main.c"
gcc -c main.c -o main.o $options
echo "COMPILE parse_manifest.c"
gcc -c parse_manifest.c -o parse_manifest.o $options
echo "COMPILE splashscreen_stubs.c"
gcc -c splashscreen_stubs.c -o splashscreen_stubs.o $options
echo "COMPILE version_comp.c"
gcc -c version_comp.c -o version_comp.o $options
echo "COMPILE wildcard.c"
gcc -c wildcard.c -o wildcard.o $options
出现这些错误:
./build.sh
COMPILE java.c
java.c: In function âContinueInNewThreadâ:
java.c:1885:29: error: storage size of âargs1_1â isnât known
COMPILE java_md_common.c
java_md_common.c: In function âProgramExistsâ:
java_md_common.c:67:17: error: storage size of âsbâ isnât known
java_md_common.c:70:26: error: âS_IEXECâ undeclared (first use in this function)
java_md_common.c:70:26: note: each undeclared identifier is reported only once for each function it appears in
java_md_common.c: In function âJLI_ReportErrorMessageSysâ:
java_md_common.c:155:21: error: âerrnoâ undeclared (first use in this function)
java_md_common.c: In function âProcessDirâ:
java_md_common.c:214:5: error: unknown type name âDIRâ
java_md_common.c:222:15: warning: assignment makes pointer from integer without a cast [enabled by default]
java_md_common.c:226:17: warning: assignment makes pointer from integer without a cast [enabled by default]
java_md_common.c:228:18: error: dereferencing pointer to incomplete type
java_md_common.c:229:18: error: dereferencing pointer to incomplete type
java_md_common.c:231:22: error: dereferencing pointer to incomplete type
java_md_common.c:233:22: error: dereferencing pointer to incomplete type
java_md_common.c:236:46: error: dereferencing pointer to incomplete type
java_md_common.c:237:67: error: dereferencing pointer to incomplete type
java_md_common.c:239:25: error: dereferencing pointer to incomplete type
java_md_common.c:242:48: error: dereferencing pointer to incomplete type
java_md_common.c: In function âFindBootStrapClassâ:
java_md_common.c:494:59: error: âRTLD_DEFAULTâ undeclared (first use in this function)
COMPILE java_md_solinux.c
java_md_solinux.c:27:20: fatal error: jvm_md.h: No such file or directory
compilation terminated.
COMPILE jli_util.c
COMPILE main.c
In file included from main.c:33:0:
defines.h:37:2: error: #error "FULL_VERSION must be defined"
defines.h:44:2: error: #error "JDK_MAJOR_VERSION and JDK_MINOR_VERSION must be defined"
main.c: In function âmainâ:
main.c:128:20: error: âFULL_VERSIONâ undeclared (first use in this function)
main.c:128:20: note: each undeclared identifier is reported only once for each function it appears in
main.c:129:20: error: âDOT_VERSIONâ undeclared (first use in this function)
COMPILE parse_manifest.c
COMPILE splashscreen_stubs.c
COMPILE version_comp.c
COMPILE wildcard.c
有人知道怎么编译吗?
最佳答案
我现在面临同样的问题。也许可以通过为您的设置提供 jvm.h 和 jvm_md.h 来解决。两者都包含特定于 jvm 的符号,并且 jvm_md.h 还包含额外的平台相关符号。因此,您需要为目标 jvm 选择 jvm.h,为目标平台选择 jvm_md.h。要获取 Oracle 的 OpenJDK8 的这些 header ,请转到 http://download.java.net/openjdk/jdk8/并下载源代码。 (对于 Java 7,它是 http://download.java.net/openjdk/jdk7/ 等)
在此文件中,您将在文件夹中找到 jvm.h/openjdk/jdk/src/share/javavm/export/
jvm_md.h 在文件夹中:/openjdk/jdk/src/[目标平台]/javavm/export/
请注意,对于 Linux 和 Bsd,此路径不存在(/openjdk/jdk/src/[目标平台] 仅包含这些情况下的文档)。不过,我相信 Solaris 版本也旨在为这些系统提供服务。
希望这有助于...
关于java - 如何构建 OpenJDK 8 的 C 代码 src.zip/launcher/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23392649/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!