Questions tagged «compilation»

编译是将源文本转换为其他形式或表示形式。该标签最常见的用法是有关将编程语言转换为机器代码的问题。此标记通常与另一个指示源文本类型的标记(例如编程语言标记(C,C ++,Go等))一起使用,并指示用于转换的工具或编译器的标记(gcc,Visual Studio,等等。)。


13
为什么C ++编译需要这么长时间?
与C#和Java相比,编译C ++文件要花费很长时间。与运行正常大小的Python脚本相比,编译C ++文件花费的时间明显更长。我目前正在使用VC ++,但任何编译器都相同。为什么是这样? 我可以想到的两个原因是加载头文件并运行预处理器,但这似乎不能解释为什么要花这么长时间。




12
错误:java:无效的源发行版:Intellij中的8。这是什么意思?
我正在尝试使用Intellij Ultimate 13.1.4编译一些代码,但是出现以下错误,我不知道这意味着什么: Information:Using javac 1.7.0_55 to compile java sources Information:java: Errors occurred while compiling module 'Example' Information:Compilation completed with 1 error and 0 warnings in 3 sec Information:1 error Information:0 warnings Error:java: invalid source release: 8 我的猜测是它与Java 8 vs Java 7有关,但是我不知道具体是什么。我已尝试在Google周围搜索此消息,但他们要么谈论javac要么target release,所以似乎并不适用。

4
使用CSS3 calc进行不太积极的编译
我正在使用的Less编译器(OrangeBits和dotless 1.3.0.5)正在积极地进行翻译 body { width: calc(100% - 250px - 1.5em); } 进入 body { width: calc(-151.5%); } 这显然是不希望的。我想知道是否有一种方法可以通知Less编译器在编译过程中实质上忽略该属性。我搜索了Less文档和两个编译器的文档,但找不到任何东西。 更少或更少的编译器是否支持此功能? 如果没有,是否有CSS扩展器呢?

24
显示构建日期
我目前有一个应用程序,在其标题窗口中显示内部版本号。那是好事,只是它对大多数想知道自己是否拥有最新版本的用户毫无意义-他们倾向于将其称为“上周四”,而不是版本1.0.8.4321。 计划是将构建日期放在那里-因此,例如“ App build on 21/10/2009”。 我正在努力寻找一种编程方式来将构建日期作为文本字符串提取出来,以供使用。 对于内部版本号,我使用了: Assembly.GetExecutingAssembly().GetName().Version.ToString() 在定义了这些内容之后。 我想要类似的东西作为编译日期(和时间,以获得加分)。 非常感谢这里的指针(如果适当的话,请使用双关语)或更整洁的解决方案...
260 c#  date  time  compilation 

11
为什么必须在C中链接数学库?
如果在C程序中包含<stdlib.h>或<stdio.h>包含C程序,则在编译时不必链接这些程序,但必须在gcc中<math.h>使用链接到,-lm例如: gcc test.c -o test -lm 这是什么原因呢?为什么我必须显式链接数学库,而不是其他库?
254 c  compilation  math.h 

10
为什么要编译Python代码?
为什么要编译Python脚本?您可以直接从.py文件运行它们,并且效果很好,那么在性能上有什么优势吗? 我还注意到,我的应用程序中的某些文件被编译为.pyc,而另一些则没有,为什么?

3
具有返回类型的Java方法无需返回语句即可编译
问题1: 为什么下面的代码在没有返回语句的情况下进行编译? public int a() { while(true); } 注意:如果我在片刻之后添加return,则会得到Unreachable Code Error。 问题2: 另一方面,为什么以下代码会编译, public int a() { while(0 == 0); } 即使以下情况并非如此。 public int a(int b) { while(b == b); }

22
为什么Swift编译时间这么慢?
我正在使用Xcode 6 Beta 6。 这已经困扰了我一段时间,但是现在已经到了几乎无法使用的地步。 我的项目已经开始有一个体面的65个斯威夫特文件的大小和几个桥接Objective-C的文件(这是真的不是问题的原因)。 似乎对任何Swift文件进行任何微小的修改(例如在应用中几乎没有使用的类中添加简单的空白)都会导致重新编译指定目标的整个Swift文件。 经过更深入的调查,我发现CompileSwiftXcode在swiftc目标的所有Swift文件上运行命令的阶段占了编译器时间的几乎100%。 我进行了进一步的研究,如果仅使用默认控制器保留应用程序委托,则编译速度非常快,但是随着我添加越来越多的项目文件,编译时间开始变得很慢。 现在只有65个源文件,每次编译大约需要8/10秒。一点也不快。 我还没有看到任何帖子谈到这个问题,除了这一个,但所以我想知道如果我在这种情况下,只有一个,这是一个旧版本的Xcode 6。 更新 我已经在GitHub上检查了一些Swift项目,例如Alamofire,Euler和CryptoSwift,但是它们都没有足够的Swift文件可以进行实际比较。我发现唯一一个启动时大小合适的项目是SwiftHN,即使它只有十几个源文件,我仍然能够验证同一件事,一个简单的空间,整个项目需要重新编译,这开始需要一个很少的时间(2/3秒)。 与分析器和编译速度都很快的Objective-C代码相比,这确实让Swift永远无法处理大型项目,但是请告诉我我错了。 Xcode 6 Beta 7更新 仍然没有任何改善。这开始变得荒谬。由于缺少#importSwift,我真的看不到苹果将如何进行优化。 使用Xcode 6.3和Swift 1.2进行更新 苹果增加了增量构建(以及许多其他编译器优化)。您必须将代码迁移到Swift 1.2才能看到这些好处,但是Apple在Xcode 6.3中添加了一个工具来帮助您做到这一点: 然而 不要像我那样高兴得太快。他们用来使构建增量的图形求解器尚未得到很好的优化。 的确,首先,它不关注函数签名的更改,因此,如果在一个方法的块中添加空格,则将重新编译所有依赖于该类的文件。 其次,它似乎基于重新编译的文件来创建树,即使更改不影响它们也是如此。例如,如果将这三个类移到不同的文件中 class FileA: NSObject { var foo:String? } class FileB: NSObject { var bar:FileA? } class FileC: NSObject { var baz:FileB? …


4
为什么Java类用空白行进行不同的编译?
我有以下Java课 public class HelloWorld { public static void main(String []args) { } } 当我编译该文件并在生成的类文件上运行sha256时,我得到 9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff HelloWorld.class 接下来,我修改了该类并添加了一个空白行,如下所示: public class HelloWorld { public static void main(String []args) { } } 再次,我在输出上运行了sha256,期望得到相同的结果,但是我得到了 11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f HelloWorld.class 我读过这篇TutorialsPoint文章: 仅包含空格(可能带有注释)的行被称为空白行,而Java完全忽略了它。 所以我的问题是,由于Java忽略空白行,两个程序的编译字节码为何不同? 即在该差HelloWorld.class一个0x03字节是由替换0x04字节。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.