问题标签 [compilation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
12508 浏览

关于加快 Flex Builder 3 中的编译时间的任何建议?

我在 Mac 上运行 Flex Builder 3,随着项目的增长 - 编译时间越来越长。我正在使用一些 SWC,并且有相当多的代码,但是每天构建和崩溃应该不需要几分钟吗?

0 投票
3 回答
24076 浏览

调试链接错误的最佳实践

在使用 C++ 构建项目时,我发现调试链接错误很棘手,尤其是在获取其他人的代码时。人们使用什么策略来调试和修复链接错误?

0 投票
7 回答
3200 浏览

针对多个版本的 .net 框架

假设我有一些代码,理论上可以针对任何版本的 .net 框架进行编译。如果你愿意,想想“Hello World”。

但是,如果我真的编译代码,我会得到一个针对一个特定版本运行的可执行文件。

有没有办法安排事情,以便编译的 exe 将针对它找到的任何版本运行?我强烈怀疑答案是否定的,但我很高兴被证明是错误的......


编辑:好吧,我会去我们的楼梯脚下。我不知道后来的框架会愉快地运行在早期版本下编译的 exe。感谢所有的回复!

0 投票
16 回答
62655 浏览

如何将 .NET 应用程序编译为本机代码?

假设我想在没有 .NET 框架的机器上运行 .NET 应用程序;有没有办法将应用程序编译为本机代码?

0 投票
34 回答
86928 浏览

Visual Studio 2005 上的编译时间非常慢

我们的编译时间非常慢,在双核 2GHz、2G Ram 机器上可能需要超过 20 分钟。

这在很大程度上是由于我们解决方案的规模已经增长到 70 多个项目,以及当您拥有大量文件时 VSS 本身就是一个瓶颈。(不幸的是,换掉 VSS 不是一种选择,所以我不希望它下降到 VSS bash 中)

我们正在考虑合并项目。我们还在寻找多种解决方案来实现更大的关注点分离和更快的应用程序每个元素的编译时间。当我们试图保持同步时,我可以看到这将成为一个 DLL 地狱。

我很想知道其他团队是如何处理这个扩展问题的,当你的代码库达到临界质量时你会怎么做,而你浪费了半天时间看状态栏传递编译消息。

更新 我没有提到这是一个 C# 解决方案。感谢所有 C++ 建议,但几年前我不得不担心标题。

编辑:

到目前为止有帮助的好建议(并不是说下面没有其他好的建议,只是有帮助)

  • 新的 3GHz 笔记本电脑 - 在向管理人员求助时,失去利用率的力量会产生奇迹
  • 在编译期间禁用反病毒
  • 在编译期间与 VSS(实际上是网络)“断开连接” - 我可能会让我们完全删除 VS-VSS 集成并坚持使用 VSS UI

仍然没有通过编译进行 rip-snorting,但每一点都有帮助。

Orion 在评论中确实提到泛型也可能有作用。从我的测试来看,似乎对性能的影响很小,但还不够高,无法确定 - 由于磁盘活动,编译时间可能不一致。由于时间限制,我的测试没有像在实时系统中出现那样多的泛型或代码,因此可能会累积。我不会避免在应该使用泛型的地方使用它们,只是为了编译时性能

解决方法

我们正在测试在新解决方案中构建应用程序新区域的做法,根据需要导入最新的 dll,当我们对它们感到满意时,它们会将它们集成到更大的解决方案中。

我们也可以通过创建临时解决方案来对现有代码做同样的事情,这些解决方案只是封装了我们需要处理的区域,并在重新集成代码后将它们丢弃。我们需要权衡重新集成此代码所需的时间与我们在开发过程中没有像 Rip Van Winkle 那样的快速重新编译经验所获得的时间。

0 投票
6 回答
2470 浏览

ASP.Net 上的预编译和启动时间

我正在 ASP.Net 2.0 中开发一个(相对较小的)网站。在交付可执行文件之前,我还在使用 nAnt 对我的项目进行一些简单的调整。在当前状态下,该网站是使用“预编译”的

aspnet_compiler.exe -nologo -v ${Appname} -u ${target}

我注意到,在重新启动 IIS 池后(在空闲关闭或回收之后),应用程序最多需要 20 秒才能重新联机(并且达到 Application_start)。

当我直接在 Visual Studio 中调试时(启动需要 2 秒),我没有遇到同样的问题,所以我想知道 aspnet_compiler 是否真的是个好主意。

我在 MSDN 上找不到太多。您如何编译您的网站以进行生产?

0 投票
14 回答
8272 浏览

Java 编译 - 有没有办法告诉编译器忽略我的部分代码?

我维护一个 Java Swing 应用程序。

为了向后兼容 java 5(对于 Apple 机器),我们维护了两个代码库,一个使用 Java 6 的功能,另一个没有这些功能。

代码基本相同,除了 3-4 个使用 Java 6 特性的类。

我希望只维护 1 个代码库。在编译期间有没有办法让 Java 5 编译器“忽略”我的代码的某些部分?

我不想简单地注释/取消注释我的代码部分,这取决于我的 java 编译器的版本。

0 投票
1 回答
239 浏览

NetBeans 6.5 中是否有运行中的编译,它的性能如何?

我今天了解到 NetBeans 6.5 应该具有(单个)Java 文件的动态编译。这个特性在 Eclipse 中是众所周知的:只需存储文件,编译的类也会被存储。NetBeans 的工作方式是否相同?如果没有,它是如何滴答作响的?

0 投票
4 回答
11559 浏览

如何打包我的 Perl 脚本以在没有 Perl 的机器上运行?

人们还经常问“我怎样才能编译 Perl?” 而他们真正想要的是创建一个可以在机器上运行的可执行文件,即使他们没有安装 Perl。

我知道有几种解决方案:

  1. IndigoStar的 perl2exe 是商业的。我从未尝试过。它的网站说它可以交叉编译 Win32、Linux 和 Solaris。
  2. 来自 ActiveState 的Perl 开发工具包。它是商业的。几年前我在 Windows 上使用过它,它很好地满足了我的需求。根据其网站,它可以在 Windows、Mac OS X、Linux、Solaris、AIX 和 HP-UX 上运行。
  3. PAR或者更确切地说是PAR::Packer,它是免费和开源的。根据测试报告,它适用于 Windows、Mac OS X、Linux、NetBSD 和 Solaris,但理论上它也应该适用于其他 UNIX 系统。最近我开始在 Linux 上使用 PAR 进行打包,并将在 Windows 上使用它。

其他推荐的解决方案?

0 投票
5 回答
4983 浏览

Borland C++ Builder 6 总是编译所有文件

为什么 C++ Builder 6 总是编译所有文件?

我对一个文件进行了一些更改,但 BCB 6 会在我启动应用程序时编译所有文件。任何的想法?我使用的是 Windows XP SP2。