草庐IT

c++ - 解析 GLSL 着色器字符串以在 Android NDK 中查找变量名称

这个是个傻瓜。为了正确解释,让我解释一下我正在尝试做的事情。我将跟进一个代码list,然后再解释代码。目标我试图在我拥有的每个GLSL着色器文件中获取变量的名称。现在,我只有一个顶点着色器,以及一个片段着色器来补充它。这样做的目的是让我可以动态地将值绑定(bind)到着色器,而不必输入每个变量名。代码std::vectorGetShaderVariableNames(constShader&shader){Config::Log::info("Gettingshadervariablenames.");staticconstchar*keyLookupTable[]={"vec2","

c++ - Android NDK pretty-print

我正在使用AndroidNDK和Eclipse+CDT,在OSX上运行。我希望能够调试STD库的内容。我看过一些关于使用Python脚本启用这种“pretty-print”的教程。问题是它们都使用默认的gdb,而不是AndroidNDK提供的gdb,所以它们对我来说都失败了。如何使用AndroidNDK调试STD库? 最佳答案 如果您只需要调试,而不是让一些已经选择的工具工作,我可以分享这段代码:dlog.h:#include#defineLOGD(...)__android_log_print(ANDROID_LOG_DEBUG,

c++ - Android-ndk(r7)编译.cpp文件时如何开启 "C++0X"实验标准?

在检查“android-ndk-linux_x86/sources/cxx-STL/gnu-libstdc++/include/memory”头文件时,我发现这个头文件包括其他STL头文件,根据__GXX_EXPERIMENTAL_CXX0X__旗帜。我认为这个标志与“C++0X”标准有关,这个标准在Android-ndkr7中可能还处于试验阶段。但是,我想在我的项目中启用这个C++标准。(我不确定这个“C++0X”标准是否已经默认开启)我想知道在编译Android项目的“project/jni”目录下的.cpp文件时,我应该如何告诉Android-ndk设置这个标志。或者如何在我的应

c++ - 在 Android NDK 中使用 "sp"

我正在尝试通过LD_PRELOAD拦截一些native库调用。这对于用C编写的简单库来说效果很好,但现在我尝试更进一步,从用C++编写的AOSP中覆盖一些更复杂的类方法。这是我的例子:#includenamespaceandroid{spMediaCodec::CreateByType(constsp&looper,constchar*mime,boolencoder){//TODOthiswillbeimplementedbymereturnNULL;}}在我的Application.mk中,我得到了以下代码:APP_STL:=gnustl_static在Android.mk里面:L

c++ - 如何使用 android-ndk 优化 native 代码(速度优化)

我正在使用cygwin和Windows7编译native代码。我在网上得到了很多优化技巧。APP_OPTIM:=releasendk-buildNDK_DEBUG=0-DNDEBUGLOCAL_CFLAGS+=-O2但我不明白如何在Application.mk和Android.mk上设置这些。我通过应用上述技巧尝试了很多案例。但是,我不认为优化应用于我的native代码。应用程序.mkAPP_PROJECT_PATH:=$(shellpwd)APP_MODULES:=native_libAPP_OPTIM:=releaseAPP_BUILD_SCRIPT:=Android.mkAPP_

c++ - 如何在 Android NDK 中使用 c++0x 线程?

我正在尝试用android-ndk-r8b编译这个简单的程序:jni/hello_jni.cpp#include#includevoidhello(){std::coutjni/Application.mkAPP_OPTIM:=releaseAPP_MODULES:=hello_threadAPP_STL:=gnustl_staticjni/Android.mkLOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCAL_CPPFLAGS+=-std=c++0x-frttiLOCAL_MODULE:=hello_threadLOCAL_LDLIB

c++ - 如何通过 JNI/NDK 获取 Android 应用程序中使用的 C++ 库的日志行(printf、cout 等)的控制台输出

在我的Android应用程序中,我通过JNI使用nativeC++库。如果它在Debug模式下构建,该库会生成日志行。我想将日志行重定向到logcat。所以我在Debug模式下创建了库,NDK_DEBUG=1被使用并且LOCAL_LDLIBS+=-llog已设置。我的设备没有root但我设置了:$adbshell停止$adbshellsetproplog.redirect-stdiotrue$adbshell启动就像在http://developer.android.com/tools/debugging/debugging-log.html#viewingStd中描述的那样在这里Is

Clion配置C++程序用Android NDK编译,并用真机远程调试(临时目录和termux)

关键词:ndk,clion,cmake,usb,tcp,ssh,remotedebug,remotegdbdebug,termux,tabby前言假设已经有了一个在windows下能正常编译运行的C++控制台程序,本文仅说明如何在windows下交叉编译到android并调试。C++库类似。要点提示:对于unity用户,建议用unity2022自带的ndkr23。理论上可以用新版,但请找到和版本一致的gdb和gdbserver(r23是有预编译的)和ndk自带的例子不同,没有app,而是纯粹的控制台程序。无论是上传到临时目录还是termux执行,都不需要root本文调试基于真机(arm64-v

ios - iOS 上有等效的 NDK 吗?

我来自Android,不知道这是否可以在iOS上完成。我的应用程序的一部分是用C和C++编写的。我可以访问它们,因此将它们构建为iOS可以使用的另一种格式不会成为问题,但我不允许公开这些代码。Android具有NDK,允许您将所有native代码构建到.so库中。iOS有类似的东西吗? 最佳答案 Objective-C可以直接连接到您的C和C++代码-只需将它与应用程序的其余代码一起编译即可。如果您使用的是Swift,则只能直接访问现有代码的C部分。要使用C++部分,您需要一个(可能非常薄的)Objective-C++代码层作为两种

android开发之NDK配置开发

1、打开项目后,一次点击Tools>SDKManager2、点击SDKTools标签页3、选中NDK(SidebySide)和CMake复选框4、点击OK此时系统会显示一个对话框,告诉你NDK软件包占用了多少磁盘空间5、点击OK6、安装完成后,点击finish7、您的项目会同步build文件并执行构建,修改构建过程中所有的错误如果您想要使用SDK管理器未包含的CMake版本,请按以下步骤操作:1、从CMake官方网站下载并安装CMake2、在模块的build.gradle文件中指定您想要让gradle使用的CMake版本3、将CMake的安装路径添加到PATH环境变量,或将其添加到项目的loc