问题标签 [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 投票
8 回答
10839 浏览

c++ - 操作系统编译时间

这只是一个一般性问题 - 我正坐着等待编译一些软件(我们在这里使用 Incredibuild,但仍然需要 10/15 分钟),这让我想知道,有谁知道编译 Windows XP 需要多长时间还是远景?

我做了一些谷歌搜索,但并没有真正找到任何有用的信息

0 投票
3 回答
647 浏览

compilation - 与默认的 4KB 相比,16KB 或 32KB 的 NTFS 分配块是否会使编译时间更快?

与默认的 4KB 相比,16KB 或 32KB 的 NTFS 分配块是否会使编译时间更快?

0 投票
15 回答
22112 浏览

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

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

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

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

当您处理大量数据点时,这会带来相当多的开销。我希望能够动态地将方程转换为一个函数,这样它只需要解析一次。它看起来像这样:

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

该应用程序基本上会在运行时编写新代码。.NET 可以吗?

0 投票
2 回答
1817 浏览

delphi - 警告。Delphi 7,Infopower 4000 中的重复资源

[错误] 警告。重复资源:[错误] 类型 2 (BITMAP),ID TWWDBRICHEDITMSWORD:[错误] 文件 C:\Borland\Delphi7\ip4000vcl7\LIB\wwrichsp.RES 资源被保留;文件 C:\Borland\Delphi7\ip4000vcl7\LIB\wwrichsp.RES 资源被丢弃。我已经在代码中搜索了相同命名的对象,比如对象。谁能给我一个线索我还能寻找什么。

0 投票
2 回答
1409 浏览

macos - openCV 不能在 Leopard 上编译

在过去的几个小时里,我一直在试图弄清楚为什么openCV不能在 leopard 上编译。我一直在搜索参考资料,但都指向一个死掉的谷歌小组。

所以我的问题很简单:我已经阅读了 INSTALL 文件,阅读了能找到的所有文档,但仍然无法找到解决方案。

编译在这里中断(这是通过 Makefile 生成的):

rm -fr .libs/libcxcore.lax/lib_cxcore.a mkdir .libs/libcxcore.lax/lib_cxcore.a Extracting /Users/fmsf/Projects/Motion Tracking/Libs/opencv-1.1.0/cxcore/src/./.libs/lib_cxcore.a (cd .libs/libcxcore.lax/lib_cxcore.a && ar x /Users/fmsf/Projects/Motion Tracking/Libs/opencv-1.1.0/cxcore/src/./.libs/lib_cxcore.a) ar: /Users/fmsf/Projects/Motion: No such file or directory make[2]: *** [libcxcore.la] Error 1 make[1]: *** [check-recursive] Error 1 make: *** [check-recursive] Error 1

有谁知道可以做些什么来建造它?我正在使用 mac os 1.5 leopard,在阅读时发现 Mac OS 的完整端口仍未完成,但我真的不相信这是这个库的缺失。

0 投票
3 回答
24657 浏览

file - 如何检查makefile中是否存在文件

我有一个生成文件模板来编译单个 DLL(用于插件系统)。用户的 makefile 如下所示:

makefile.in我有:

plugin.os要编译的主要 C++ 文件在哪里。顺便说一句,文件结尾是.os为共享库编译的目标文件(即使用-fpic选项 with gcc

现在,问题是额外的源可能(但不一定)是头文件。理想情况下,我想将它们添加为目标plugin.os和 的依赖项file.cpp,但前提是它们存在。

该方法应该适用于 windows 和 linux,或者至少适用于每个。但是,我只使用 GNU 版本的 make。

0 投票
3 回答
334 浏览

.net - 在 PreBuild 期间插入函数名称

我想编写一个 Visual Studio 宏或类似的东西,它可以获取函数名称并插入错误报告部分的预设位置。看例子就更清楚了

因此,我遵循了我的公共库的大多数关键功能的类似模式。我希望能够在预构建期间将“FunctionA”插入日志记录部分,这样我就不必记住输入正确的名称或在复制和粘贴后忘记重命名它。可以从工具栏手动调用,也可以通过快捷键调用。

那么,我应该从哪里开始呢?

注意:我被认为是 .Net 的中级人员,用 C# 和 VB 编写了 3 年多,但我对宏很陌生,不过不介意学习。不要担心代码本身和异常,这只是一个例子。

编辑:感谢 Ovidiu Pacurar 和 cfeduke。我在这里想要的是一种一次性的改变和忘记的方法。PostSharp 将在这些函数中的每一个上产生开销,即使没有抛出异常也是如此。从堆栈跟踪中挖掘是可行的,但在某些时候,我也想只记录“FunctionA Failed”,而不需要花费太多处理来获取堆栈跟踪。此外,如果库被混淆,堆栈跟踪将是神秘的。

实际上,这个功能还有另一个需要,我之前忘记提到了。当库准备好交付时,我想将所有的函数名改成函数代码,“FunctionA”可能是“0001”,通过引用一个表来解决“混淆”日志问题。

0 投票
6 回答
35720 浏览

visual-studio - 在没有 Visual Studio 的情况下编译 .vbproj 或 .csproj 项目文件

有没有办法像 Visual Studio 一样直接编译 .vbproj 或 .csproj 项目文件?

在 Visual Studio 中编译时,“输出”窗口会显示对编译器的实际调用,通常如下所示:

vbc.exe [一堆选项] [looooong .vb 文件列表]

我想以编程方式调用“某事”,它将获取 .vbproj 文件并执行 Visual Studio 所做的任何事情来生成这个长命令行。我知道我可以自己解析 .vbproj 并生成该命令行,但我宁愿为自己节省所有的逆向工程和反复试验......

有没有工具可以做到这一点?我宁愿能够在没有安装 Visual Studio 的机器上完成它。但是,如果有一种方法可以使用一些参数调用 Visual Studio 来执行此操作,那也可以。

我简要地查看了 MSBuild,它看起来像是我必须特别制作的 .proj 项目文件,并且每次我将文件添加到 .vbproj 文件时都需要更新。(我确实简要地看了它,所以很可能我错过了一些重要的东西)

任何帮助将不胜感激

0 投票
16 回答
8542 浏览

c++ - GCC:程序不适用于编译选项 -O3

我正在编写一个 C++ 程序,当我使用优化(选项 -O1、-O2、-O3 等)编译它时它不起作用(我得到一个分段错误),但是当我编译它时它工作得很好优化。

错误是否存在于我的代码中?还是我应该假设这是 GCC 中的错误?

我的 GCC 版本是 3.4.6。

此类问题是否有任何已知的解决方法?

我的程序的优化版本和未优化版本之间的速度差异很大,所以我真的需要使用优化。


这是我原来的函子。一个在没有优化级别的情况下工作正常,并且在任何级别的优化下都会引发分段错误:

这个可以完美地与任何级别的优化一起工作:

不幸的是,这个问题很难重现,因为它发生在一些特定的值上。在对一千多个向量中的一个进行排序时,我得到了分段错误,因此它实际上取决于每个向量具有的值的特定组合。

0 投票
2 回答
1189 浏览

compilation - Borland Dev Studio 2006 Turbo C++ Explorer 编译问题

大家好

我是 C++ 的新手,对 Borland Turbo C++ Explorer 更是如此。我刚刚遇到了这个编译错误。关于如何修复它的任何线索?

第一个出现的代码是

来自另一个来源的一些建议:

正如编译器的错误消息所说,在编译单元的范围内有 2 个 ITransaction 数据类型的声明。似乎 ITransaction 定义来自 Microsoft 的 comsvc​​s.h,而 OleDB::ITransaction 是 Borland 的 ITransaction 接口的实现。所以你可以尝试两件事:

  1. 消除 OleDB::ITransaction 定义(不知道 Turbo C++,但可能有一个组件处理 oleDB。尝试摆脱它。或者它可能通过使用另一个#include 来包含。搜索文本 oledb:: ITransaction 在您的包含目录中,您将有望找到相关文件。修改包含路径,使其不再包含)。
  2. 您可以尝试定义 CINTERFACE 因为如果定义了导致编译错误的代码将不包括在内。但这可能会导致其他问题...

有没有人有任何其他建议?

亲切的问候,布鲁斯。