
NDK
P.TAN
每篇文章的开头是个人笔记,之后才是原文
展开
-
AS快速编写NDK例子
这文章“更”新http://blog.youkuaiyun.com/wl9739/article/details/52607010在新建项目时,有一个勾选,可以直接加入ndk,新建时记得把“Exceptions Support(-fexceptions)” 勾选。-----------------------------------------------------------------...转载 2017-09-15 15:22:32 · 504 阅读 · 0 评论 -
如何在后期增加ndk(AS)
更新时间 20190315一、 解决cpp 文件中无法弹出辅助信息,无法点击打开系统类的原文件等问题,例如输入 #inc ,正常是会提示 #include <>解决方法:1、升级as到3.3.2,新建一个含c++的项目,这样做可以确保你的环境配置是正确的2、把 旧项目gradle的版本和 android plugin verson的版本修改到与刚建的项目一样。3、删...原创 2018-03-24 11:07:43 · 621 阅读 · 0 评论 -
GNU Linux和Unix Darwin(Mac) BSD
苹果系统,不是linux,是Darwin。Darwin是一个完整的UNIX/BSD系统。下载时一定要注意选择“Darwin”。(对,我是mac菜鸟,唉~)苹果没用使用XWindow,而是开发一套名为Aqua的GUI,这也是MacOSX与其他UNIX版本根本性的区别。至于内核,MacOSX基于“Darwin”构建,Darwin本身就是一个完整的UNIX/BSD系统,具有UNIX体系惯有...转载 2019-10-22 11:26:58 · 1492 阅读 · 0 评论 -
简述 LLVM 与 Clang 及其关系 (c++ 编译 文章三)
可以简单理解为 clang编译器的前端,负责解析源代码,检查语法错误,并将其翻译为抽象的语法树(或者简单理解为把代码翻译成中间代码),狭义的llvm是编译器的后端,负责优化中间代码和把中间代码转换为目标机器的代码。和java有点像,生成与系统无法的中间代码,之后在jvm上运行。----------------------------------------------------...转载 2019-01-04 14:28:26 · 715 阅读 · 0 评论 -
gcc (GNU编译器套件 ) (c++ 编译 文章二)
GNU/Linux 简介https://blog.youkuaiyun.com/tantion/article/details/85165387-----------------------------------------------------------------GNU编译器套件(GNU Compiler Collection, gcc)包括C、C++、Objective-C、Fortr...原创 2018-12-24 15:09:12 · 1666 阅读 · 0 评论 -
GNU/Linux (c++ 编译 文章一)
GNU是一个组织,他们发布了一种版权许可协议,GPLGNU本来向开发自己的操作系统——HURD,但是因为种种原因进度非常慢。这时候,一个荷兰黑客制作出了Linux,并宣布:遵循GPL版权可协议。 Linux的发展非常快,他本身遵循GPL版权可协议,同时又把GNU的很多软件集成了进去(注意,Linux仅仅是一个内核,不包含外围的应用程序),所以现在我们使用的Linux系统,应该完整地称之为GNU...转载 2018-12-21 17:18:46 · 455 阅读 · 0 评论 -
android 内存泄露之jni local reference table overflow
可以简单理解为 (*env)->New****** 要和(*env)->Delete***** 配套使用?jbyteArray byteArray = lpEnv->NewByteArray(stream->len);lpEnv->SetByteArrayRegion(byteArray, 0,stream->len,(jbyte*) stream-&g...转载 2018-12-10 10:07:23 · 726 阅读 · 0 评论 -
Android JNI 篇 - JNI回调的三种方法(精华篇 ndk)
1、一般在JNI_OnLoad方法中保存JavaVM2、之后新建一个初始化方法保存调用者jjobject,注意保存时要使用方法把局部变量“升级”为全局变量g_obj = (*env)->NewGlobalRef(env, thiz);自己的例子是:MyWebrtc---------------------------------------------------------...转载 2018-12-10 10:33:09 · 3732 阅读 · 0 评论 -
CMakeFile命令之file
file:文件操作命令. file(WRITE filename "message towrite"... )WRITE 将一则信息写入文件’filename’中,如果该文件存在,它会覆盖它,如果不存在,它会创建该文件。file(APPEND filename "message to write"... )APPEND 如同WRITE,区别在于它将信息内容追加到文件末尾。 ...转载 2018-11-23 11:11:42 · 24473 阅读 · 0 评论 -
用CMake代替makefile进行跨平台交叉编译
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑。因为很多开源的程序,比如png,都是自带编译脚本的。我们可以使用下列脚本来进行编译: 1 2 3 ./configure --prefix=/xxx/xx --enable-static=YES make make install ...转载 2018-12-24 15:47:11 · 1236 阅读 · 0 评论 -
报错 error: use of undeclared identifier (AS)
Android studio编译程序时报错:D:/Android/sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/include\locale:3548:30: error: use of undeclared identifier 'catopen' catalog __cat = (catalog)catopen(__nm.c_str(), N...原创 2019-01-04 17:31:25 · 23315 阅读 · 3 评论