native-code相关内容

是否可以在没有 JNI 的情况下使用 sun.misc.Unsafe 调用 C 函数?

一段 C/C++ 代码可以提供一个带有函数指针数组的 JNI 方法.但是有没有办法直接从Java代码内部(不使用JNI或类似的)调用数组指针指向的函数堆栈?JNI 不知何故做了类似的事情,所以一定有办法.JNI 是如何做到的?是通过 sun.misc.Unsafe 吗?即使不是,我们是否可以使用一些不安全的解决方法来获取执行此操作的 JVM 代码? 我当然不打算将其用于商业用途.我什至不是专 ..
发布时间:2022-01-16 12:03:01 Java开发

Windows 64 位上的 com4j

我已经下载了最新的 com4j jar,我正在尝试运行他们最简单的示例. 我使用的是 64 位 Windows 7 并使用 64 位 JVM. 当我运行命令时(来自 com4j 教程): java -jar tlbimp.jar -o wsh -p test.wsh %WINDIR%\system32\wshom.ocx 我明白了: 线程 "main" java.lang.Uns ..
发布时间:2022-01-14 12:27:25 Java开发

Android NativeActivity

Android NDK 刚刚得到显着扩展,包括支持编写 android应用程序完全在本机 C/C++ 代码中.现在可以使用本机代码捕获键盘和触摸屏上的输入事件,还可以使用新的 NativeActivity 类在 C/C++ 中实现应用程序生命周期. 鉴于所有扩展的原生功能,是否值得完全绕过 Java 并使用原生代码编写 Android 应用程序? 解决方案 NDK 本身并不是原生的. ..
发布时间:2022-01-10 23:24:45 移动开发

如何在android中获取音乐文件(MP3)的采样率和频率?

我正在用 android 开发音频播放器.所以我想添加播放歌曲的详细信息,即艺术家姓名、持续时间、比特率和采样频率.我可以使用 MediaStore.Audio.Media library 获取音乐文件的艺术家姓名和持续时间.但我无法获得同一文件的比特率和采样频率.那么我怎样才能得到相同的呢? 据我所知,它可以通过使用本机库来完成.但是不知道怎么做?所以有人可以帮助我吗? 解决方案 ..
发布时间:2022-01-10 23:16:22 移动开发

是否有用于 JavaScript 的本机机器代码编译器?

是否有适用于 JavaScript 的本机机器代码编译器?我不是在谈论虚拟机.如果它不存在,可以做到吗? 我想知道由于语言的动态特性,它是否可以编译为二进制文件. 解决方案 据我所知,JavaScript 没有静态编译器.这在理论上当然是可能的;然而,JavaScript 的静态编译需要一个非常重量级的运行时来支持其所有功能(例如动态类型和 eval).顺便说一句,当需要静态编译 Pyt ..
发布时间:2022-01-04 21:21:49 前端开发

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

有没有什么方法可以在不需要 JVM 的情况下从 Java 编译为独立(或库)机器代码? 解决方案 曾经有一个名为 GCJ 的工具,它是 GCC 的一部分,但它是 已删除.现在,GCC 站点中的所有链接都重定向到其非 GCJ 等效项. 注意:评论都参考了我原来的回答,说你可以用 GCJ 将 Java 编译成本机代码. ..
发布时间:2022-01-04 21:18:25 Java开发

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

假设我想在 .NET 框架不可用的机器上运行 .NET 应用程序;有没有办法将应用程序编译为本机代码? 解决方案 Microsoft 有一篇文章描述了如何将MSIL编译为本机代码 您可以使用 Ngen. 本机图像生成器 (Ngen.exe)是一个工具,可以提高托管应用程序的性能.Ngen.exe 创建本机映像,其中是包含编译的文件特定于处理器的机器代码,以及将它们安装到本机映像 ..
发布时间:2022-01-04 21:12:15 C#/.NET

如何使用 ngen.exe 进行编译以及如何运行生成的本机代码?

我想出于特殊目的使用 ngen 命令行编译 C# 程序.所以我在 VS2010 中创建了一个控制台应用程序并将其命名为 ngentest.在 vs2010\projects\ngentest\bin\debug 中创建名为 ngentest.vshost.exe 的文件.我在VS2010命令提示符中使用了这个文件作为ngen命令参数,如下: ngen "c:\documents\vs2010\p ..
发布时间:2021-12-14 19:45:16 C#/.NET

如何在 Android 中使用 addr2line

我被我的应用程序困住了,因为我无法调试,因为它是一个多线程的应用程序并且因错误 SIGSEGV 而崩溃.我从 LogCat 获得了很多信息,它为我提供了本地库中的地址.如果我可以将这些地址转换为我的代码,那将会很有帮助. 有人知道如何使用 android-ndk 提供的 addr2line 吗? 解决方案 假设 logcat 向您显示以下崩溃日志(来自我的一个项目): I/DEBU ..

如何在 Android 项目中使用 ARM 汇编代码?

我对汇编和 ARM 的经验不是特别丰富,但我能够在其中编写一些例程,我想看看它们如何在配备 ARM 的 Android 设备 (Nexus S) 上运行.将汇编代码文件包含到 Android 项目中的过程是什么?我只能从本机代码调用它,也可以从 Java 调用它吗? 解决方案 您可以使用 Java Native Interface 和 Android NDK 从 Android 调用程序集 ..
发布时间:2021-11-17 21:41:06 移动开发

javascript预定义函数(parseInt,parseFloat,isNaN等)的算法

查看JavaScript中预定义函数的基础代码的最佳方法是哪怕是最好的方法.是否有文档说明这些代码是如何编码的,或者是一种简单的方法来查看基础代码? parseInt parseFloat isNaN 解决方案 进一步研究后,我在ECMAScript规范中发现了这一点. http://www.ecma-international.org/publications/files/EC ..
发布时间:2021-05-19 20:24:45 前端开发

如何在Visual Studio 2015中从asp.net核心项目启用本机调试?

在其他VS 2015 C#项目类型中,该项目的“属性页"在“调试"选项卡下包含一个复选框,可启用本机调试.我在Asp.Net Core项目中看不到这一点,因此无法进入我拥有代码的C ++ Dll依赖项. 解决方案 直接进行本机调试会有局限性. 参考:在VS2015? 一种解决方法是使用“附加到流程". ..

调用JNI方法时如何获取Android上下文实例?

我已经阅读了关于stackoverflow的一些相关答案,但是似乎没有人回答我的问题.我将从本地代码中获取android ID,即在C代码中调用方法getAndroidIDfromNativeCode(因此JVM是通过create_vm方法在本机代码中初始化的),您知道在调用方法 getContentResolver 时,必须使用 Android Context实例调用它,那么如何获取此 Cont ..
发布时间:2021-04-05 18:57:28 Java开发

将本地库从android应用程序移动到系统lib并从应用程序访问

我用android ndk编译了一个本机代码.现在,而不是将该库保留为.apk的一部分,我想将其安装在android系统(system/lib64)中,并从系统加载我的应用程序.我将库推送到system/lib64,并从android应用程序的lib文件夹中删除了库.但是当我尝试运行时,我会得到 "java.lang.UnsatisfiedLinkError: dlopen failed: ..

使用WinAPI挂钩对程序进行沙盒

我想对本地代码进行沙盒化,并使用WinAPI和系统函数的挂钩来阻止或允许该程序执行某些操作,例如使用Internet连接读取/写入文件,修改Windows注册表.这是一种很好且安全的方法吗?该程序绕过这种安全层会有多困难? 解决方案 +1给Hans,但是,如果您真的很喜欢,那么我可以推荐轻松钩.我已经在Win XP,Vista和7中成功地成功使用了它.我不知道它的可绕行性如何,但确实存在其 ..
发布时间:2020-11-23 20:10:38 其他开发

Undersore的_.now如何工作?

它看起来不是用JavaScript编写的。 如果在控制台中键入 _now ,则只会得到 功能now(){[native code]} 通常只有当您尝试查看某些内置方法时,内部功能才对浏览器不可见。 setTimeout =>函数setTimeout(){[本地代码]} _。now 用JavaScript引擎的“本机代码”做了什么? ..
发布时间:2020-09-23 22:13:50 前端开发

从Android应用程序中的本机库访问根文件(/system,/dev)

我有一个本地库,它将尝试在android设备的/system,/dev文件夹中创建文件(使用open(),fopen()等). 现在,我已使用JNI&将集成库与android应用程序集成在一起NDK.但是在根文件夹中创建文件失败. 我试图从本机库中的sdcard中创建一个文件,效果很好. 我既不想将文件打开代码移至Android代码(Java代码),也不想在sdcard中创建文件.我对 ..