- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图从 C++ 代码调用 Java 类 kissdb.dev.Run 的“public static void main(String[])”方法。我使用GCJ编译:
c++ -c run.cpp; gcj run.o kissdb.so -lstdc++ -o run.x
但是下面的代码无法编译。编译器说:
run.cpp: In function ‘int main(int, char**)’:
run.cpp:52:23: error: no match for ‘operator=’ in ‘*(args + ((unsigned int)(((unsigned int)i) * 8u))) = arg’
要做什么?我的 C++ 代码:
#include <gcj/cni.h>
#include <java/lang/System.h>
#include <java/io/PrintStream.h>
#include <java/lang/Throwable.h>
#include <iostream>
#include "pub.h"
java::lang::String* js(const char* s) {
return JvNewStringLatin1(s);
}
int main(int argc, char *argv[]) {
using namespace std; // For cout <<
using namespace java::lang; // For System::class, Throwable
try {
JvCreateJavaVM(NULL);
JvAttachCurrentThread(NULL, NULL);
cout << "* Hello from GCJ! argc: " << argc << endl;
JArray<String *> *args =
(JArray<String *> *) JvNewObjectArray(argc, &String::class$, NULL);
// From http://gcc.gnu.org/onlinedocs/gcj/Arrays.html#Arrays
for (int i = 0; i < argc; i++) {
String* arg = JvNewStringLatin1(argv[i]);
args[i] = arg; // <--- ERROR HERE
}
kissdb::dev::Run::main(args); // The Java main method I want to run.
JvDetachCurrentThread();
} catch (Throwable *t) {
System::out->println(js("Unhandled Java exception:"));
t->printStackTrace();
}
}
最佳答案
需要使用'elements'模板函数。
elements(args)[i] = arg;
请参阅手册中的“阵列”页面。
关于java - 如何使用 GCJ 创建 Java String 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16836497/
我获得了属于空间引用 GCJ-02 的 LatLng。当然,它不会在谷歌地图中正确显示,因为我相信,如果我错了请纠正我,谷歌地图使用 WGS-84。 google map service v2 for
Code jam problem是以下内容: 给你一个完整的无向图,有 N 个节点和 K 个“禁止”边。 N <= 300, K <= 15。找出图中不使用任何 K 个“禁止”边的哈密顿循环数。 不幸
下面是一些简单的代码: class B {final static int x = C.x;} class C {final static int x = B.x;} class A { st
我正在尝试使用 gcj 构建 java 应用程序,但出现以下错误。自从我使用 gcj 以来已经有一段时间了(大约一年),所以我可能忘记了一些不明显的东西,但我很确定我一直都是这样做的。 multip
这个问题在这里已经有了答案: Is GNU's Java Compiler (GCJ) dead? [closed] (4 个答案) 关闭 7 年前。 我一直在寻找有关 GCJ 状态及其 futur
如何在 NetBeans 中使用 GCJ 编译器编译 Java 程序?有什么插件吗? 最佳答案 GCJ 是垃圾,抛弃它。除了最原始的 Java 代码,您无法使用它编译所有代码。 而且您不能将它集成到
我想将小型 Java 应用程序编译为 Windows 可执行文件。 应用程序很小,只有一个主类,但它使用 Apache POI。 当我编译它时,一切正常,只要我将 POI Jar 放入类路径参数中即可
这是我用 Java 编写的速度测试的结果: Java real 0m20.626s user 0m20.257s sys 0m0.244s GCJ real
我是 Linux 和一般编程的新手,我什至似乎无法运行简单的 Hello World 代码。以下是我所做的以及收到的错误,我正在使用 Cygwin。谁能帮我? theys@THEYS1 ~/java
我不知道这是否是在 StackOverflow 上提出的问题,但无论如何我都会问。 我在 Windows XP SP3 上使用 GCJ(作为 MinGW 的一部分)将 Java 类编译为 EXE。 J
我正在使用 Java 版本 4.4.4 的 gnu 编译器。它不支持 javax.swing.GroupLayout。以后的版本有这个支持吗?我之前在我的系统上多次构建过 GCC。我应该这样做吗? 最
我对 gcj 和 java 都很陌生,所以如果我遗漏了一些明显的东西,请原谅我。我正在尝试使用 gcj 编译 YUICompressor,但收到错误消息,指出找不到主类。我有: ~/java/yuic
我正在尝试在 CentOS 上安装一个软件,文档说的是这样的... If you are using a Linux distribution that installs GCJ by default
我试过GCJ它编译得很好。我尝试了 Ubuntu 和 Windows。编译后的文件以及带有 wine 的 .exe 在我的 Ubuntu 机器上运行。但是如果我尝试在我的 Ubuntu 服务器上运行,
我找不到 MinGW 的 gcj 二进制文件的链接;它没有出现在 MinGW-get 列表中,而且我在 the site 上找不到二进制文件。 . 它甚至存在吗?我在哪里可以找到它? 最佳答案 仅仅因
因为 Clojure 构建在 JVM 之上,我想我可以使用 GCJ将它直接编译成机器代码,但我找不到任何关于它的信息。 如果可能的话,我怎么能把它“剥离”成最基本的东西,这样启动时间和内存占用就尽可能
当我尝试在脚本的帮助下运行 java 应用程序时出现此异常 Caused by: java.lang.ClassNotFoundException: com.tata.topListQuoteSamp
目前(2009 年年中)GCJ 的现状如何? 最新消息是2007年的,所以我想知道是否有任何形式的进展?我记得不久前有一个可用的 lucene 编译版本,它使用 gcj 从 java 源代码编译它。目
我很抱歉,因为我是一个非常“Java 菜鸟”。无论如何,我认为我已经充分简化了这个问题,可以以一种直截了当的方式提出问题,并且会得到我想要的答案。假设我有两个文件,都在我的主目录中,如下所示: 测试.
是否可以使用 GCJ 编译用于 Java 的库,获取 dll 并从 python ctypes 调用? 我现在对 toxilibs 很感兴趣,但如果有人知道一个玩具示例那就太好了! 最佳答案 如果您想
我是一名优秀的程序员,十分优秀!