标签: native-code

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

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

.net compilation native-code

85
推荐指数
10
解决办法
5万
查看次数

如何在Android中使用addr2line

我被我的应用程序困住,因为我无法调试,因为它是多线程的并且因错误SIGSEGV而崩溃.我从LogCat那里获得了很多信息,它在我的本地库中提供了地址.如果我可以将这些地址转换为我的代码,将会很有帮助.

有没有人知道如何使用android-ndk提供的addr2line?

android shared-libraries native-code android-ndk addr2line

74
推荐指数
2
解决办法
8万
查看次数

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

有没有办法从Java编译到独立(或库)机器代码而不需要JVM?

java compilation native-code

70
推荐指数
4
解决办法
4万
查看次数

"[本地代码]"是什么意思?

我试着调查jQuery代码,所以我使用了这个:

document.write($.constructor);
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

我得到了这个结果:

function Function() { [native code] }
Run Code Online (Sandbox Code Playgroud)

什么[native code]意思?为什么我看不到真正的代码?

经过测试 Google-Chrome

javascript jquery native-code

59
推荐指数
2
解决办法
5万
查看次数

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

是否有用于JavaScript的本机机器代码编译器?我不是在谈论VM.如果它不存在可以做到吗?
我想知道它是否可以编译为二进制,因为语言的动态性质.

javascript native compilation native-code

42
推荐指数
3
解决办法
2万
查看次数

如何从java JVM卸载库(DLL)

我需要卸载一个加载的DLL System.loadLibrary(..),任何人都知道这是否可能?

java native-code

30
推荐指数
1
解决办法
3万
查看次数

分析C#和mscorlib.ni.dll

我目前正在使用CPU采样分析控制台应用程序.操作系统是带有Microsoft Visual Studio Ultimate 2012 Update 4的Windows 8 Enterprise 64位.我看到34%的Exclusive Samples位于mscorlib.ni.dll中.然后在Modules视图中打开mscorlib.ni.dll,我看到所有调用都是对unknwon行进行的.

我首先使用ngen按照以下说明下载它们:http://blogs.msdn.com/b/visualstudioalm/archive/2012/12/10/creating-ngen-pdbs-for-profiling-reports.aspx但没有运气.尽管pdb存在于正确位置并且在VS选项上正确引用.

在此之后,我尝试用这个PS脚本获取所有可能的符号:http://knagis.miga.lv/gen_ngen_pdb.txt但仍然没有运气.即使pdb(仍然)存在.

有人已经有过这个问题吗?我已经看到另一个答案代码分析以提高性能:查看mscorlib.dll中的CPU周期?但根本没有解决......

恩里科

.net c# profiling native-code visual-studio-2012

22
推荐指数
1
解决办法
7179
查看次数

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

一段C/C++代码可以为JNI方法提供一个函数指针数组.但是有没有办法直接从Java代码内部(不使用JNI或类似代码)调用数组指针指向的函数?JNI以某种方式做了类似的事情,所以必须有办法.JNI是如何做到的?是通过sun.misc.Unsafe吗?即使不是,我们是否可以使用一些不安全的解决方法来获取执行此操作的JVM代码?

我当然不打算在商业上使用它.我甚至不是专业人士,我只是非常喜欢编码而且我最近一直在研究CUDA所以我想也许我可以尝试将所有东西混合在一起,但JNI调用的开销会破坏GPU加速代码的目的.

c java java-native-interface jvm native-code

22
推荐指数
1
解决办法
3923
查看次数

使用V8将JavaScript编译为本机代码

使用Google的V8引擎,是否真的可以将JavaScript编译为本机代码,将其保存为二进制文件,并在任何计算机上通过我的软件环境执行它?

javascript c++ v8 native-code

21
推荐指数
1
解决办法
1万
查看次数

Android ClassLoader内存泄漏

动机:

我在我的Android应用程序中使用了一些本机库,我想在某个时间点将它们从内存中卸载.当加载了加载本机库的类的ClassLoader被垃圾收集时,库将被卸载.灵感:原生卸货.

问题:

  • 如果ClassLoader用于加载某个类(导致可能的内存泄漏),则不会对其进行垃圾回收.
  • 本机库只能在应用程序中的一个ClassLoader中加载.如果仍有旧的ClassLoader挂在内存中,并且新的ClassLoader尝试在某个时间点加载相同的本机库,则会抛出异常.

题:

  1. 如何以干净的方式执行本机库的卸载(卸载是我的最终目标,无论它是一种糟糕的编程技术还是类似的东西).
  2. 为什么会出现内存泄漏以及如何避免内存泄漏?

在下面的代码中,我通过省略本机库加载代码来简化案例,只演示了Classloader内存泄漏.

我在Android KitKat 4.4.2,API 19上测试了它.设备:Motorola Moto G.

为了演示,我有以下ClassLoader,派生自PathClassLoader用于加载Android应用程序.

package com.demo;
import android.util.Log;
import dalvik.system.PathClassLoader;

public class LibClassLoader extends PathClassLoader { 
   private static final String THIS_FILE="LibClassLoader";

   public LibClassLoader(String dexPath, String libraryPath, ClassLoader parent) {
        super(dexPath, libraryPath, parent);
    }

    @Override
    protected void finalize() throws Throwable {
        Log.v(THIS_FILE, "Finalizing classloader " + this);
        super.finalize();
    }
}
Run Code Online (Sandbox Code Playgroud)

我有EmptyClass加载LibClassLoader.

package com.demo;
public class EmptyClass {
}
Run Code Online (Sandbox Code Playgroud)

内存泄漏是由以下代码引起的:

final Context …
Run Code Online (Sandbox Code Playgroud)

android garbage-collection memory-leaks classloader native-code

18
推荐指数
1
解决办法
1183
查看次数