Tag: 编译

用javax.tools.JavaCompiler在内存中完全编译代码

我正在使用javax.tools包(JDK 1.7)中的JavaCompiler来编译一些东西,如下所示: compiler.run(null, null, "-cp", paths, "path/to/my/file.java"); 它的工作原理,但我想这样做在内存中(例如传递一个string的代码,而不是源文件,并获取字节码不是.class文件)。 我发现扩展InputStream和OutputStream参数是没用的,因为它可能和控制台中的一样。 你知道一种方法来使运行方法像这样工作吗? 或者你知道用getTask()方法做到这一点的确认方式? (扩展FileManager看起来很容易,但并不那么容易:)

链接器错误时编译针对glib …?

我在编译一个简单的示例程序时遇到了麻烦, 我得到以下错误。 我可以得到它编译,但不与-c标志链接,我相信这意味着我已经安装了glib头,但它没有find共享目标代码。 请参阅下面的Make文件。 $> make re gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lglib-2.0 re.c -o re /tmp/ccxas1nI.o: In function `print_uppercase_words': re.c:(.text+0x21): undefined reference to `g_regex_new' re.c:(.text+0x41): undefined reference to `g_regex_match' re.c:(.text+0x54): undefined reference to `g_match_info_fetch' re.c:(.text+0x6e): undefined reference to `g_print' re.c:(.text+0x7a): undefined reference to `g_free' re.c:(.text+0x8b): undefined reference to `g_match_info_next' re.c:(.text+0x97): undefined reference to `g_match_info_matches' re.c:(.text+0xa7): undefined […]

如何在窗体应用程序中显示控制台输出/窗口?

卡住了一个非常基本的例子: using System; using System.Windows.Forms; class test { static void Main() { Console.WriteLine("test"); MessageBox.Show("test"); } } 如果我使用默认选项(在命令行使用csc)编译这个,如预期的那样,它将编译成一个控制台应用程序。 另外,因为我导入了System.Windows.Forms ,它也会显示一个消息框。 现在,如果使用选项/target:winexe ,我认为这与从项目选项中selectWindows Application相同,如预期的那样,我将仅看到消息框并没有控制台输出。 (实际上,从命令行启动的那一刻,我可以在应用程序完成之前发出下一个命令)。 所以,我的问题是 – 我知道你可以有一个控制台应用程序的“窗口”/窗体输出,但无论如何,从Windows应用程序显示控制台?

你如何dynamic编译和加载外部的java类?

(这个问题与我见过的很多问题类似,但大部分都不够具体, 背景: 我的程序的目的是使那些使用我的程序的人可以很容易地自定义“插件”,然后编译并加载到程序中以供使用(与在我的程序中实现不完整,缓慢的parsing器)。 我的程序允许用户将代码input到预定义的类中,扩展与我的程序打包在一起的编译类。 他们将代码input到文本窗格中,然后我的程序将代码复制到被覆盖的方法中。 然后将其保存为一个.java文件(几乎)为编译器做好准备。 该程序以保存的.java文件作为input运行javac(java编译器)。 我的问题是,如何获得它,使客户端可以(使用我编译的程序)保存这个Java文件(它扩展我的InterfaceExample)在他们的计算机上的任何地方,让我的程序编译它(不说“找不到符号:InterfaceExample” )然后加载它并调用doSomething()方法? 我不断地看到问答使用reflection或类加载器,几乎描述如何编译,但没有一个足够详细/我不完全理解他们。

使用G ++编译多个.cpp和.h文件

我刚刚inheritance了一些C ++代码,这些代码是用一个包含main和其他一些函数的cpp文件编写的。 还有.h文件包含类和它们的函数定义。 到目前为止,程序是使用g++ main.cpp命令编译的。 现在我已经将类分离为.h和.cpp文件了,是否需要使用makefile,还是可以使用g++ main.cpp命令?

Java中的#ifdef #ifndef

我怀疑是否有办法在Java中编译时间条件,如#ifdef #ifndef在C ++中。 我的问题是,有一个用Java编写的algorithm,我有不同的运行时间提高到该algorithm。 所以我想测量一下每次使用什么样的改进措施后我能节约多less时间。 现在我有一组布尔variables,用于决定在运行时间哪些改进应该使用哪些不是。 但即使testing这些variables也会影响总运行时间。 所以我想在编译的时候想办法决定哪些部分应该被编译和使用。 有人知道用Java来做这件事的方法吗? 或者也许有人知道没有这样的方式(这也是有用的)。

为什么C ++编译需要这么长时间?

与C#和Java相比,编译C ++文件需要很长时间。 编译C ++文件比运行普通大小的Python脚本花费的时间要长得多。 我目前正在使用VC ++,但任何编译器都是一样的。 为什么是这样? 我能想到的两个原因是加载头文件和运行预处理程序,但似乎不应该解释为什么需要这么长时间。

如果解释Python,什么是.pyc文件?

我已经了解到Python是一种解释型语言…但是,当我查看我的Python源代码时,我看到了Windows标识为“编译的Python文件”的.pyc文件。 这些进来了?

为什么将0.1f改为0会使性能下降10倍?

为什么这一点代码, const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6}; const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812, 1.923, 2.034, 2.145, 2.256, 2.367, 2.478, 2.589, 2.690}; float y[16]; for (int i = 0; i < 16; i++) { y[i] […]

从数据库编译dynamicHTMLstring

情况 在Angular应用程序中嵌套的是一个名为Page的指令,由一个控制器支持,该控制器包含一个带有ng-bind-html-unsafe属性的div。 这被分配给一个名为“pageContent”的$ scope var。 这个var从数据库中获取dynamic生成的HTML。 当用户翻到下一页时,调用DB,pageContent var被设置为这个新的HTML,通过ng-bind-html-unsafe在屏幕上显示。 代码如下: 页指令 angular.module('myApp.directives') .directive('myPage', function ($compile) { return { templateUrl: 'page.html', restrict: 'E', compile: function compile(element, attrs, transclude) { // does nothing currently return { pre: function preLink(scope, element, attrs, controller) { // does nothing currently }, post: function postLink(scope, element, attrs, controller) { // does nothing […]