Tag: swing

从java程序调用C编译器

我有一个项目,我需要编译C程序。 该项目是Java。 我必须将程序带入JTextArea,(我使用Swing for GUI),针对测试文件运行它并将结果输出到另一个JTextArea。 但是我的代码似乎有些不对劲。 Process p = new ProcessBuilder(“c:\\MinGW\\bin\\cc.exe”, “program.c”).start(); program.c包含用户输入TextArea的程序,“c:\ MinGW \ bin \ cc.exe”是我的c编译器。 我检查过这不会引发任何exception。 它应该在我当前的目录中创建一个名为a.exe的文件,其中包含program.c文件,但它不是。正确的方法是什么? 我看到另外两个类似于此的post,但它们也没有为此提供简单的清洁解决方案。 另外,我必须在它之后运行创建的可执行文件。 提前致谢。

OSX:JavaVM,AWT / Swing以及可能的死锁

我是java编程的新手,所以如果这听起来像个愚蠢的问题,我会提前道歉。 我正在尝试构建一个用简单C编写的简单应用程序,它必须创建一个JavaVM ,然后通过加载基于AWT/Swing Java代码来创建一个新窗口。 按照本技术说明我了解到,仅在Mac OSX中,必须从与主线程不同的线程调用JavaVM,以便能够基于AWT创建GUI。 因此,在我的C应用程序的mainfunction中,我创建了一个执行所有操作的新线程,从创建javaVM到创建GUI。 由于应用程序实际上并不那么简单,我将发布一个简化版本。 主function: int main(int argc, char** argv) { // Run-time loading of JavaVM framework void *result; result = dlopen(“/System/Library/Frameworks/JavaVM.framework/JavaVM”, RTLD_LAZY); if (!result) { printf(“can’t open library JavaVM: %s\n”, dlerror()); } else { printf(“library JavaVM loaded\n”); } /* Start the thread that runs the VM. */ pthread_t vmthread; // […]