问题标签 [native-code]

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 投票
4 回答
14927 浏览

javascript - 使用 V8 将 JavaScript 编译为原生代码

使用 Google 的 V8 引擎,真的有可能将 JavaScript 编译为原生代码,将其保存为二进制文件,并在任何时候通过我的软件环境在任何机器上执行它吗?

0 投票
5 回答
57570 浏览

java - 我可以将 Java 编译为本机代码吗?

有没有什么方法可以在不需要 JVM 的情况下从 Java 编译为独立(或库)机器代码?

0 投票
5 回答
1079 浏览

.net - 如何将 C# 应用程序分发到具有未知版本的 .Net 的计算机?

我写了一个小应用程序,我需要分发到 700 多台计算机,问题是计算机可以运行任何版本的 Windows(尽管很可能是 XP 或更高版本),并且安装了任何版本的 .Net 框架,所有来自 OC3 的互联网连接拨号。

我考虑将 .Net 与我的应用程序捆绑在一起,但 .net 安装程序至少为 39mb,而对于使用拨号的人来说,这实际上需要几个小时。

那么有没有一种方法可以捆绑应用程序需要的特定 DLL,或者将整个东西转换为本机代码?

谢谢——迈克

0 投票
2 回答
1769 浏览

c# - 在 C# 中将 CIL 代码更改为本机代码

可能重复:
是否有某种方法可以将 .NET 应用程序编译为本机代码?

当您编译 C# 应用程序时,它被编译为 CIL 代码,在运行时由框架解释,但我想知道是否可以为我的应用程序生成本机 x86 EXE 文件存根。

这样就不可能在反编译器中直接打开我的应用程序。

PS我不能对任何东西使用混淆器。

0 投票
1 回答
2888 浏览

c# - Salamander .NET 链接器 - 它是如何工作的?

我想了解一下蝾螈是如何做到的?我将包括我特别感兴趣的几点

-

按需链接

链接器从入口方法(您可以配置)开始,并递归地遍历调用图以仅链接所需的 MSIL 代码位。未使用的代码不会链接到最终程序集中。因此,您的代码变得更高效,文件大小变得更小。

-

链接到框架 API

链接器非常强大,甚至可以将 Microsoft .NET Framework 程序集(例如 System.Windows.Forms.dll)链接到您自己的 .NET 程序集中。由于它是按需链接,因此只会链接所需的部分。这对于保护您的代码、简单的应用程序部署以及通过调试框架代码本身来排除故障非常有用。

-

本机编译

本机编译器将所有托管程序集(包括系统程序集)转换为 x86 本机代码。不会发布 MSIL 指令,不会在运行时进行 JIT 编译。这提供了有史以来最好的反汇编和反编译保护,并且还提高了性能和启动时间。

-

无需完整的 Microsoft .NET Framework 安装即可进行简单快速的部署

The mini-deployment tool puts together the minimum set of CLR runtime files and dependent assemblies that can be simply copied to a single folder on a target machine, and your application runs as if the whole framework is installed. Since the installation is isolated into a single folder, there will be no conflicts with future .NET installation. When linking is used for the dependent assemblies, it will further reduce the file size.

-

Code Protection There is one problem none of the current obfuscators address, that is, no matter how good the obfuscation is, there are system library calls and other external references scattered over in your code (see red in below). Since these calls are external references, obfuscators will have to leave them unchanged. However, these references help a lot to understand the decompiled code, because they are well documented and public APIs. The linker removes or reduces such public APIs by linking the framework APIs into your own code, and thus makes your code much more difficult to decompile after obfuscation. Below shows sample MSIL code before and after the linker is used.

before: (no obfuscators are able to rename the following code, since they are external public APIs)

after: (absolutely no clue Windows.Forms APIs are used, a high obstacle for a hacker to understand this junk)

Some of these things baffle me, and i was wondering if anyone else knew how it all worked?

0 投票
1 回答
232 浏览

.net - 如何查看 CLR 生成的本机代码?

有什么方法可以查看 CLR 生成的本机代码吗?

在 java 中有一个选项“ -XX:+PrintOptoAssembly ”可以查看 JIT 编译的本机代码。那么CLR有没有类似的东西呢?

0 投票
3 回答
2977 浏览

java - 可以将 MSIL 转换为 Java 本机代码吗?

Dotnet CLR 将语言代码转换为 MSIL。而 Java 代码被转换为独立于平台的本机代码。我们可以将此 MSIL 转换为本机代码吗?因此,Dotnet 将自动变得独立于平台。

0 投票
2 回答
281 浏览

xml - C++ 在没有 CLR 的情况下读取/写入 XML

我知道这是一个非常愚蠢的问题,而且我对 C++ 很陌生。

我正在开发星际争霸 AI,它是 DLL 文件。我正在尝试使用 XML 向机器人收集一些数据,但是每当我使用 /clr 选项构建 DLL 时。机器人无法正确加载。所以,我的问题是什么是 CLR,有没有办法在不使用 /clr 构建选项的情况下读取/写入 XML。

非常感谢。

0 投票
1 回答
1412 浏览

android - Android中的声音分析/编辑

我想知道在android中分析和编辑声音有多难。我的项目将是一种 DJ 应用程序。

我认为 AudioTrack 是最合适的库,对吧?少数 android DJ 应用程序如何工作以显示声音的频谱、应用效果、改变速度、混音等......他们是否使用更强大的外部声音库?

对于性能问题,Java 是否足够快(或者是否存在延迟风险)?

最后一个问题:Korg 如何将其 syth 移植到 Ipad,Wormux 如何移植到 android,AngryBird 现在可以在 Iphone 和 android 上运行,等等......所有这些应用程序似乎都可以移植到任何平台而无需重新编写......他们是怎么做的?是因为它们是用“本机代码”编写的吗?我应该考虑这个选项,以便我可以使用其他声音库吗?

谢谢。

0 投票
1 回答
2250 浏览

windows-mobile - 在 Windows Mobile 上找不到 PInvoke DLL

我正在开发 Windows Mobile 应用程序。

每当我下载一些使用本机代码包装器的示例(使用 DllImport)时,它总是给出“找不到 PInvoke DLL”错误。

我在 64 位 Windows 7 操作系统上使用 VS 2005 和 C#。

我已经检查了许多关于 stackoverflow 以及其他站点的解决方案,但没有解决我的问题。

如果它的 64 位操作系统有问题,那么将该 dll 编译为 64 位的步骤是什么?我尝试通过配置管理器将平台更改为 x64,但无法正常工作。