标签: compilation

正在运行:在后台使用gVim制作

我在windows中使用gVim来编辑我的代码(主要是C++).我使用:make in gVim来编译项目,但这是一个阻塞操作,这阻止我在编译完成之前使用gVim.我该怎么做:异步制作并仍然可以将错误读回Vim并跳转到源代码中的错误?如果我实时看到制作过程,奖励积分.现在:make将输出重定向到一个文件,因此我无法看到make的进度.

vim compilation

34
推荐指数
4
解决办法
9193
查看次数

是否可以在.NET中运行时编译和执行新代码?

注意:数学表达式评估不是这个问题的焦点.我想在.NET中运行时编译和执行新代码. 话虽如此...

我想允许用户在文本框中输入任何等式,如下所示:

x = x / 2 * 0.07914
x = x^2 / 5
Run Code Online (Sandbox Code Playgroud)

并将该等式应用于传入的数据点.输入数据点由x表示,每个数据点由用户指定的等式处理.我多年前做过,但我不喜欢这个解决方案,因为它需要为每次计算解析等式的文本:

float ApplyEquation (string equation, float dataPoint)
{
    // parse the equation string and figure out how to do the math
    // lots of messy code here...
}
Run Code Online (Sandbox Code Playgroud)

当您处理大量数据点时,这会引入相当多的开销.我希望能够在飞行中将方程转换为函数,这样它只需要解析一次.它看起来像这样:

FunctionPointer foo = ConvertEquationToCode(equation);
....
x = foo(x);  // I could then apply the equation to my incoming data like this
Run Code Online (Sandbox Code Playgroud)

函数ConvertEquationToCode将解析方程并返回指向应用适当数学的函数的指针.

该应用程序基本上是在运行时编写新代码.这可能与.NET有关吗?

.net c# runtime compilation

33
推荐指数
4
解决办法
2万
查看次数

Eclipse如何仅使用JRE编译类?

我需要使用已经"自定义"的特殊JRE批量编译.

Eclipse能够使用此JRE编译类,但我需要在Eclipse之外创建构建脚本.

Eclipse使用什么方法生成没有JDK的.class文件?

java eclipse compilation

33
推荐指数
2
解决办法
2万
查看次数

Android编译很慢(使用Eclipse)

当我更改任何.java文件并构建时,编译需要16秒.我不明白为什么它应该这么慢!?

我为Andoroid启用了详细输出.

Window > Preferences > Android > Build output > Verbose.
Run Code Online (Sandbox Code Playgroud)

结果输出(Console> Android)是:

[19:46:10] Refreshing resource folders.
[19:46:10] Starting incremental Pre Compiler: Checking resource changes.
[19:46:10] Nothing to pre compile!
[19:46:10] Starting incremental Package build: Checking resource changes.
[19:46:10] ignored resource ...\bin\.\classes.dex
[19:46:10] processing ...\A.class
[19:46:10] processing ...\B.class
    ...
[19:46:21] processing com/google/inject/util/Providers.class...
[19:46:21] processing com/google/inject/util/Types.class...
[19:46:24] Using default debug key to sign package
[19:46:24] Packaging ...\bin\resources.ap_
[19:46:24] Packaging classes.dex
    ...
[19:46:25] Packaging ...\annotations.jar
[19:46:25] Build Success!
[19:46:25] Refreshing resource …
Run Code Online (Sandbox Code Playgroud)

performance android compilation

33
推荐指数
2
解决办法
2万
查看次数

是否可以在不使用main()函数的情况下编写程序?

我在采访中不断提出这个问题:

不使用main()函数编写程序?

我的一个朋友向我展示了一些使用宏的代码,但我无法理解它.

所以问题是:

是不是真的可以编写和编译程序main()

c c++ program-entry-point compilation

33
推荐指数
7
解决办法
3万
查看次数

团结的利弊是什么?

从一家新公司开始,我注意到他们在我们的大部分解决方案中使用了统一cpp文件,我想知道是否有人能够给出一个明确的理由,说明为什么以及如何加快构建过程?我原以为在Unity文件中编辑一个cpp文件会强制重新编译所有这些文件.

c++ build-process compilation

32
推荐指数
2
解决办法
3万
查看次数

C99中的暂定定义和链接

考虑由两个文件组成的C程序,

在f1.c:

int x;
Run Code Online (Sandbox Code Playgroud)

f2.c:

int x=2;
Run Code Online (Sandbox Code Playgroud)

对C99标准第6.9.2段的解读是该程序应该被拒绝.在我对6.9.2的解释中,变量x是暂定的f1.c,但是这个暂定的定义在翻译单元的末尾变成了一个实际的定义,并且(在我看来),应该表现得好像f1.c包含了定义int x=0;.

对于所有编译器(以及重要的是,链接器)我能够尝试,这不是发生的事情.我试过的所有编译平台都链接了上面两个文件,两个文件中的值x都是2.

我怀疑这是偶然发生的,或者只是作为标准要求提供的"简单"功能.如果你考虑一下,这意味着链接器中对那些没有初始化器的全局变量有特殊支持,而不是那些显式初始化为零的全局变量.有人告诉我,无论如何编译Fortran可能都需要链接器功能.那将是一个合理的解释.

有什么想法吗?对标准的其他解释?文件f1.cf2.c拒绝链接在一起的平台名称?

注意:这很重要,因为问题出现在静态分析的上下文中.如果这两个文件可能拒绝在某个平台上链接,分析器应该抱怨,但是如果每个编译平台都接受它,那么就没有理由对它进行警告.

c fortran static-analysis compilation c99

32
推荐指数
3
解决办法
5146
查看次数

Maven使用gmaven-plugin编译混合Java + Groovy 1.7项目

根据前两个答案:maven dependencies groovy.我正在尝试使用来自org.codehaus.gmaven的GMaven-plugin,使用Maven编译混合Java 6 + Groovy项目.直到昨天我们使用的是旧1.6.0版本的Groovy(在我们最终完成它之后从未改变它),但由于1.7.0现在稳定,我认为我们会改用它.

如果只是那么简单......我现在遇到的问题似乎有两个方面:

  • Groovy 1.6以某种方式仍然被选为默认值.(如下面的stacktrace中所示)
  • groovy:generateStubs因构建错误而停止:意外节点:节点[7:1,64,注释]

有谁知道如何解决上述两个问题,或者可以提供一个工作pom来编译与Maven Java 6代码混合的Groovy 1.7代码?

使用gmaven/groovy.maven/groovy.maven.gmaven编译旧版本的Groovy时,有很多令人困惑/矛盾/过时的文档,现在真的没有帮助.

作为参考,这是我的pom.xml和Maven -e输出的一部分:

<dependencies>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>1.7.0</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>1.2</version>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.gmaven.runtime</groupId>
                    <artifactId>gmaven-runtime-1.7</artifactId>
                    <version>1.2</version>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                    <version>1.7.0</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <goals>
                        <goal>generateStubs</goal>
                        <goal>compile</goal>
                        <goal>generateTestStubs</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

[INFO] ------------------------------------------------------------------------
[INFO] Building Client
[INFO]    task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: …
Run Code Online (Sandbox Code Playgroud)

java groovy compilation maven gmaven-plugin

32
推荐指数
2
解决办法
2万
查看次数

将PyPy编译为Exe

我知道如何使用cx_freeze将CPython文件编译为exe,但是可以使用PyPy编译一个简单的程序到Exe吗?

python pypy compilation exec

32
推荐指数
2
解决办法
1万
查看次数

C中的函数指针 - 性质和用法

我刚刚在这里阅读了一个有趣的问题,让我想到了另外两件事:

  1. 为什么有人应该比较函数指针,因为通过概念,函数的唯一性由它们的不同名称来保证?
  2. 编译器是否将函数指针视为特殊指针?我的意思是它看到他们喜欢,让我们说,指针void *或是否持有更丰富的信息(如返回类型,论点和论据类型的号码?)

c pointers compilation

32
推荐指数
4
解决办法
5322
查看次数