标签: compilation

有没有理由不使用链接时优化(LTO)?

GCC,MSVC,LLVM以及可能的其他工具链支持链接时(整个程序)优化,以允许编译单元之间的调用优化.

在编译生产软件时是否有理由不启用此选项?

c c++ performance compilation compiler-optimization

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

编译时如何使用通配符包含JAR文件?

我在java文件(MyRtmpClient.java)中有以下内容:

import org.apache.mina.common.ByteBuffer;
Run Code Online (Sandbox Code Playgroud)

并且ByteBuffer位于JAR文件中(当然具有正确的目录结构).我需要的jar文件和其他文件与.java文件位于同一目录中.

然后我用这行编译:

javac -cp ".;*.jar" MyRtmpClient.java
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

MyRtmpClient.java:3: package org.apache.mina.common does not exist
import org.apache.mina.common.ByteBuffer;

如何在项目中包含jar文件?

java packages compilation jar

46
推荐指数
5
解决办法
9万
查看次数

如何从Xcode导出已完成的应用程序?

我不得不问这个很傻.我有一个应用程序,我希望派人测试他们的机器,但我不知道如何让Xcode生成一个.app文件供我发送给他们.救命?

xcode compilation finalize

46
推荐指数
3
解决办法
8万
查看次数

CMake多体系结构编译

我想知道如何编写一个CMake设置,允许使用任何编译器和操作系统编译x86和x64架构.

architecture compilation cmake

46
推荐指数
1
解决办法
4万
查看次数

可以编译Razor视图吗?

我想知道是否可以编译Razor视图,比如基于WebForm的视图?

编译Razor视图甚至是有意义的,为什么有人想这样做呢?

asp.net-mvc compilation razor asp.net-mvc-3

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

缺少项目的POM,没有可用的依赖项信息

背景

尝试使用Java 1.7的干净安装Apache Maven 3.1.0将Java库添加到本地Maven存储库.以下是添加Java归档文件的方法:

mvn install:install-file \
  -DgroupId=net.sourceforge.ant4x \
  -DartifactId=ant4x \
  -Dversion=0.3.0 \
  -Dfile=ant4x-0.3.0.jar \
  -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)

这创建了以下目录结构:

$HOME/.m2/repository/net/sourceforge/ant4x/
??? 0.3.0
?   ??? ant4x-0.3.0.jar.lastUpdated
?   ??? ant4x-0.3.0.pom.lastUpdated
??? ant4x
    ??? 0.3.0
    ?   ??? ant4x-0.3.0.jar
    ?   ??? ant4x-0.3.0.pom
    ?   ??? _remote.repositories
    ??? maven-metadata-local.xml
Run Code Online (Sandbox Code Playgroud)

项目的pom.xml文件引用依赖项目(上面的树),如下所示:

<properties>
  <java-version>1.5</java-version>
  <net.sourceforge.ant4x-version>0.3.0</net.sourceforge.ant4x-version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
...
<dependency>
  <groupId>net.sourceforge</groupId>
  <artifactId>ant4x</artifactId>
  <version>${net.sourceforge.ant4x-version}</version>
  <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

问题

运行后mvn compile,返回以下错误(完全登录Pastebin):

[ERROR] Failed to execute goal on project ant4docbook: Could not resolve dependencies for project net.sourceforge:ant4docbook:jar:0.6-SNAPSHOT: Failure …
Run Code Online (Sandbox Code Playgroud)

java compilation build pom.xml maven

46
推荐指数
1
解决办法
13万
查看次数

将所有代码放在C++中的Header文件中的优缺点?

您可以构建一个C++程序,以便(几乎)所有代码都驻留在Header文件中.它本质上看起来像一个C#或Java程序.但是,.cpp在编译时,至少需要一个文件来提取所有头文件.现在我知道有些人绝对会厌恶这个想法.但我没有发现任何令人信服的缺点.我可以列举一些优点:

[1]编译时间更快.所有头文件只被解析一次,因为只有一个.cpp文件.此外,一个头文件不能包含多次,否则您将获得构建中断.在使用备用方法时,还有其他方法可以实现更快的编译,但这很简单.

[2]通过使它们绝对清楚,它避免了循环依赖.如果ClassAClassA.h对循环依赖ClassBClassB.h,我必须把前向参考与它伸出.(请注意,这与C#和Java不同,编译器会自动解析循环依赖关系.这会鼓励编写错误的编码实践IMO).同样,如果您的代码在.cpp文件中,您可以避免循环依赖,但在实际项目中,.cpp文件往往包含随机标题,直到您无法确定谁依赖于谁.

你的意见?

c++ architecture compilation circular-dependency header-files

45
推荐指数
6
解决办法
1万
查看次数

目标文件包含什么?

在C或C++编译的各个阶段,我知道生成了一个目标文件(即any_name.o文件).这个.o文件包含什么?我无法打开它,因为它是一个二进制文件.

有人可以帮帮我吗?目标文件的内容主要依赖于我们在Unix上使用的编译器吗?

c c++ compilation

45
推荐指数
6
解决办法
3万
查看次数

尝试导出Runnable Jar时"启动配置"显示空白?

我已经让它在过去工作,但现在每当我选择File > Export... > Runnable JAR File并选择下拉菜单时"Launch Configuration",我得到的只是一个空白栏.

我怎样才能让我的主要课程出现?

java eclipse configuration compilation jar

45
推荐指数
1
解决办法
7万
查看次数

我可以对我的scala代码做什么,以便更快地编译?

我有一个大型的scala代码库.(https://opensource.ncsa.illinois.edu/confluence/display/DFDL/Daffodil%3A+Open+Source+DFDL)

它就像70K行的scala代码.我们在scala 2.11.7上

开发变得越来越困难,因为编译 - 编辑 - 编译 - 测试 - 调试周期对于小的更改来说太长了.

增量重新编译时间可能是一分钟,而且没有打开优化.有时更长.而且没有在文件中编辑很多更改.有时,一个非常小的变化会导致巨大的重新编译.

所以我的问题是:通过组织代码,我可以做些什么,这将改善编译时间?

例如,将代码分解为较小的文件?这会有帮助吗?

例如,更小的图书馆?

例如,避免使用implicits?(我们很少)

例如,避免使用特征?(我们有吨)

例如,避免大量进口?(我们有吨 - 包边界在这一点上非常混乱)

或者我真的无能为力吗?

我觉得这个很长的编译在某种程度上是由于依赖性导致了大量的重新编译,我正在考虑如何减少错误依赖......但这只是一个理论

我希望其他人可以对我们可能做的事情有所了解,这将提高增量变更的编译速度.

dependencies scala compilation

45
推荐指数
2
解决办法
3755
查看次数