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

compilation - 即时 (JIT) 编译器有什么作用?

与非 JIT 编译器相比,JIT 编译器具体做什么?谁能给一个简洁易懂的描述?

0 投票
9 回答
28931 浏览

c# - .NET 属性生成“必须声明一个主体,因为它没有标记为抽象或外部”编译错误

我有一个 .NET 3.5(目标框架)Web 应用程序。我有一些看起来像这样的代码:

它给了我这些行的编译错误:

有任何想法吗?我的理解是,这种类型的属性在 .NET 3.0 中是有效的。

谢谢!


问题出在我的 .sln 文件本身。尽管我在构建选项中更改了目标版本,但在 .sln 文件中,我发现了这一点:

将其更改为“3.5”解决了它。多谢你们!

0 投票
8 回答
304 浏览

makefile - “make”命令的其他用途是什么?

有一天,一位系统管理员老师告诉我,我应该学习使用“make”,因为我可以将它用于许多其他只会触发编译的事情。

我再也没有机会谈论它了。你有什么好的例子吗?

作为奖励,这个工具是否已被弃用,以及现代替代品是什么(用于编译目的和其他)?

0 投票
5 回答
5799 浏览

c++ - 汇编代码的数据结构?[研究]

我打算创建一个优化的数据结构来保存汇编代码。这样我就可以完全负责将在这个结构上工作的优化算法。如果我可以在运行时编译。这将是一种动态执行。这可能吗?有没有人见过这样的东西?

我应该使用结构将结构链接到程序流中吗?对象更好吗?

更新:我认为它会变成一个链表。

更新:我知道那里还有其他编译器。但这是一个军事绝密项目。所以我们不能相信任何代码。我们必须自己做这一切。

更新:好的,我想我只会生成基本的 i386 机器代码。但是,当它完成后,我如何跳转到我的内存 blob 中呢?

0 投票
5 回答
26223 浏览

visual-studio-2008 - BSCMAKE:错误 BK1506:无法打开文件 StdAfx.sbr 没有这样的文件或目录

我已将我的 VS2006 项目之一转换为 VS2008,当尝试在 VS2008 中构建项目时,出现上述错误。什么是 .sbr 文件?以及如何修复编译错误?非常感谢任何帮助。

0 投票
5 回答
12210 浏览

path - 错误 PRJ0003:生成“cl.exe”时出错

我将 VS2006 vc++ 项目转换为 VS2008。编译时出现上述错误。我如何解决它?我错过了这个 exe 吗?

0 投票
6 回答
9621 浏览

visual-studio - 使用 Visual Studio 2008 汇编、链接、调试和执行 MASM 6.11 汇编代码

我想尽可能地使用 Visual Studio 2008,同时有效地编译/链接/构建/等代码,就好像所有这些构建过程都是由 MASM 6.11 提供的工具完成的一样。MASM 的确切版本无关紧要,只要它在 6.x 范围内,因为这是我的大学用来教授 16 位汇编的版本。

我对该主题进行了一些研究,得出的结论是有几种选择:

  1. 重新配置 VS 以使用与 MASM 6.11 本身相同的标志等调用 MASM 6.11 可执行文件。
  2. 创建要由 VS 调用的中间批处理文件,然后为 MASM 的链接器等调用正确的命令。
  3. 重新配置 VS 的内置构建工具/规则(汇编器、链接器等)以提供与 MASM 6.11 使用的环境相同的环境。

当我意识到 VS 的“外部工具”界面中可用的选项可能不足以正确调用 MASM 的构建工具时,选项 (2) 被提出,因此解释 VS 传递参数的严格方法的批处理文件可能会有所帮助,因为很多我学习如何使这项工作涉及我从命令提示符手动调用 ML.exe、LINK.exe 等。

以下是几个可能有助于回答我的问题的链接。请记住,我已经阅读了所有内容,但没有一个是实际的解决方案。我只能希望我指定的 MASM 6.11 不会阻止任何人提供可能更普遍的答案。

与选项(2)类似的方法,但线程上的用户无法联系:http:
//www.codeguru.com/forum/archive/index.php/t-284051.html
(另外,我对中间批处理文件的必要性)

对我的问题的过时解释:
http ://www.cs.fiu.edu/~downeyt/cop3402/masmaul.html

可能是我最接近最终解决方案的东西,但指的是除 MASM 之外的工具套件,还使用批处理文件:
http ://www.kipirvine.com/asm/gettingStarted/index.htm#16 -少量

如果我在代码的每个步骤中使用的工具的术语 - > exe 进程已关闭,我深表歉意,但由于我试图在完成编写代码和生成可执行文件之间重现所有步骤,所以我不认为这很重要。

0 投票
4 回答
3728 浏览

parsing - 递归下降解析 - 从 LL(1) 向上

以下简单的“计算器表达式”文法(BNF)可以很容易地用一个简单的递归下降解析器来解析,它是预测性的 LL(1):

因为看到下一个标记总是足以知道要选择的规则。但是,假设我添加了以下规则:

为了在命令行上与计算器进行交互,使用变量,如下所示:

我不能使用简单的 LL(1) 预测解析器来解析<command>规则,这是真的吗?我试图为它编写解析器,但似乎我需要知道更多的令牌。是使用回溯的解决方案,还是我可以只实现 LL(2) 并始终向前看两个令牌?

RD 解析器生成器如何处理这个问题(例如,ANTLR)?

0 投票
10 回答
100140 浏览

python - 将Python编译成机器码可行吗?

将 Python(可能通过中间 C 表示)编译成机器代码有多可行?

据推测,它需要链接到 Python 运行时库,并且 Python 标准库的任何部分本身就是 Python 也需要编译(和链接)。

此外,如果您想对表达式进行动态评估,则需要捆绑 Python 解释器,但也许不允许这样做的 Python 子集仍然有用。

它会提供任何速度和/或内存使用优势吗?大概 Python 解释器的启动时间将被消除(尽管共享库仍需要在启动时加载)。

0 投票
14 回答
9077 浏览

java - 创建不可逆向工程的 Java 程序

有没有办法以不可逆向工程的格式部署 Java 程序?

我知道如何将我的应用程序转换为可执行的 JAR 文件,但我想确保代码不能被逆向工程,或者至少不容易被逆向工程。

源代码的混淆不算……它使代码更难理解,但不会隐藏它。

一个相关的问题是如何锁定已编译的 Java 类以防止反编译?


完成程序后,我仍然可以访问原始源,因此维护应用程序不会成为问题。如果应用程序是分布式的,我不希望任何用户能够反编译它。混淆并不能实现这一点,因为用户仍然可以反编译它,虽然他们很难遵循操作流程,但他们将能够看到代码,并可能从中获取信息。

我担心的是代码中是否有与远程访问相关的任何信息。应用程序使用用户提供的用户 ID 和密码连接到一个主机。如果该地址位于源代码中,有没有办法向用户隐藏主机地址?