问题标签 [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.
google-chrome - 可以反编译用 C++ 编写的 Mozilla/GoogleChrome 插件吗?
我有一些专有算法,我想在客户端使用它,与在 Javascript 中使用它相比,我在 C++ 中使用它(在 Mozilla 中使用 XPCOM 和在 Google Chrome 中使用本机代码)。我可以确定与 Java 和 Javascript 相比,反编译(尽管可能)插件会非常困难吗?
android - 如何在 Android 框架中打印日志消息
我正在尝试在核心 Android 框架文件中打印日志消息。例如,我尝试MediaRecorderClient.cpp
在frameworks\base\media\libmediaplayerservice\
. 我试过LOGV
, LOGE
, LOGD
,printf
和__android_log_print
, 没有任何成功。
我应该使用哪个命令来打印日志消息?
c++ - 在无需 cygwin 或 .Net 等额外工具即可运行的 windows 中开始开发 c/c++ 需要什么软件?
我打算编写c/c++
可以在控制台中运行的简单程序。我将在 Notepad++ 中编写代码,所以我不需要 IDE。我需要的是一个编译器,它将生成一个独立的 EXE 文件,该文件可以在任何2000/XP/Vista/7
系统上运行,而无需安装VC9/cygwin/MinGW/.Net
或其他额外的库。
据我了解GCC
,它在 windows 上运行cygwin
,所以它生成的任何应用程序也需要cygwin1.dll
在它的存在下运行,对吗?
android - 原生代码对 Android/iPhone 应用程序开发的影响
我想为 Android和iOS 创建一个应用程序。
现在,我必须在我的应用程序中使用大量本机 C++ 代码。
所以我想知道:
- 使用本机代码是否存在任何性能问题?
- 是否可以使用本机代码完全控制(手机的)资源?
- 在 Android 或 iOS 中使用本机代码是否有任何限制或缺点?
- 你能推荐在 Android/iOS 应用程序开发中大量使用本机代码吗?或者可能是气馁?
.net - 是否可以在一个文件中包含本机 DLL 的 win32 和 x64 版本?
假设我有一些用 C++ 编写的代码。我可以从代码中生成两个 DLL:win32 版本和 x64 版本。
现在我想将这两个 DLL 粘合到一个文件中,然后在为 AnyCPU 编译的 C# 应用程序中加载适当的版本。
是否可以?如果有可能,那么我应该如何处理这项任务?
c# - 为什么我的 char* 在 C# -> C++ 之间的 256 个字符处被截断
我必须调用一个使用一些非标准类型的外部库,所以我围绕这个外部库创建了一个 C++ 包装器。为了避免一些痛苦,我将参数设置为 wchar_t*:
当我调用函数时:
但是,当调用该函数时,它似乎在 256 个字符处被截断。当我调试/观察 C++ 代码中的 xml 参数时,我看到它在 256 个字符处被截断。
现在,我已经很长时间没有在 .NET 中进行任何 C++ 或本机代码调用了,所以我已经忘记了它的所有细节。我认为 Marshal.StringTo... 调用没有问题,因为它似乎返回了完全渲染的 char*。似乎是在运行时尝试传递参数时。
更新:
根据要求,这里是 StartBatchJob 方法的实现:
任何帮助是极大的赞赏!
谢谢
node.js - Windows 中的原生扩展 .node 到 NodeJS
我使用以下代码(addon.node)在 Windows 中构建了一个 .node 扩展:
我在 VS10 中编译,我在 main.js 中的简单代码是:
它应该打印“世界”这个词,但我有以下错误:
有人知道解决方案吗?
提前致谢!
已解决:我的问题是我将库包含在 SSL 支持中。我删除它并完成!
java - 如何在 Java 中以编程方式加载 librxtxSerial
我开始使用 arduino 与 Java 交互,这非常简单,但现在我想以编程方式加载 librxtxSerial 本机库,但我不知道。由于我使用的是 MacOS 64 位并使用 Java6,因此我使用了以下 jnilib:http ://blog.iharder.net/2009/08/18/rxtx-java-6-and-librxtxserial-jnilib-on-intel-mac- os-x/在这里推荐:http: //arduino.cc/playground/Interfacing/Java
之后,我尝试像这样以编程方式加载它:
这似乎有效(至少不会引发异常)。
但是当我调用CommPortIdentifier.getPortIdentifier(PORT_NAME);
它时,它会引发以下异常:
所以我不明白出了什么问题,因为它似乎是根据以下内容加载它的正确方法:http: //docs.oracle.com/javase/6/docs/api/java/lang/System.html#load( java.lang.String)
任何想法?
PS:您可以在此处找到整个代码:https : //gist.github.com/1853637,前提是 rxtx jar 在类路径中并且定义了本机库位置(就像在 Eclipse 中这样:http://www. eclipsezone.com/eclipse/forums/t49342.html)
c++ - Android Native NDK OpenGL ES:未实现的 API
我正在努力用 C++ for Android 完全实现 OpenGL ES 2.0。
目前我们的程序在没有 JNI 或项目中的任何 java 类的情况下运行,而只使用 NativeActivity。
关注应用程序渲染部分本身,我们得到了一个简单的方法:
在 Android.mk 中包含:
并在 AndroidManifest.xml 中获悉:
因此,程序调试和编译没有问题。当设置为运行时,会出现以下消息:
论坛给出了一个适用于 java - Android 的建议:GLES20: Called unimplemented OpenGL ES API,包括代码中的命令 setEGLContextClientVersion:
但是,setEGLContextClientVersion 是一种用于 java 的包装方法。
setEGLContextClientVersion 不属于OpenGL ES native,不能适用于native C++ OGLES 开发。
因此,我改用:
但是错误还没有消失。
android - Android Native OGLES2:未声明 esLoadProgram
我有以下命令:
该程序是 Android 4 的原生 C++,仅使用 NativeActivity。因此,项目没有 /src 和 java 类。
我将有关以 EGL_OPENGL_ES2_BIT 运行的版本的信息放入 NDK OGLES 2.0,并且 Android.mk 也设置为 -lGLESv2。在文件中还包括:
AndroidManifest 还被告知它运行 OGLES 2.0。
当被要求运行时,程序会给出以下消息:
由于某些原因,这些属于 OGLES 2 的命令不可见。有什么建议吗?
所有评论都受到高度赞赏。