C/C++
文章平均质量分 68
nicebooks
这个作者很懒,什么都没留下…
展开
-
使用NDK生成native C/C++的可执行程序
众所周知, NDK可以生成lib,让java程序通过jni来调用,其实,NDK也可以生成C/C++的可执行程序.不过这个程序要被执行的话还有要求. 1.手机是破解过具有root权限的. 2.可执行文件的名字必须是lib*.so. 否则apk安装时不会安装上去,也可以考原创 2011-07-13 10:38:05 · 9758 阅读 · 6 评论 -
使用NDK build android上的busybox.
在android上,为了某些需要,我们需要一个小而精减的busybox(如果不懂busybox是什么),请跳过此文。当然我们也可以用gcc的toolchains来build, 但生成出来的那个二进制文件的size会让你疯狂。而用NDK生成出来的二进制则是gcc生成的五分之一左右。原创 2011-08-16 19:16:07 · 7409 阅读 · 1 评论 -
华容道算法和使用广度搜索的一些单人游戏求解框架
最新无聊在玩华容道,结果玩的时候,有些关不知道怎么过,就自己想着写程序来求最小还原步数。经过一番搜索和思考,写出来下面的代码,其中借鉴了别人的红黑树的代码,还有就是使用广度搜索来求解的思想。 在写算法的过程中,突然想到还有其他的单人游戏也是可以用广度搜索来求解的,因此,就针对这类游戏写了一个框架,适用于状态数不会太变态的游戏,例如华容道,Unblock me(移动木块)之类的游戏。3原创 2012-10-08 18:26:35 · 3710 阅读 · 0 评论 -
学习笔记: linux下静态库与动态库的生成与调用
首先,这里有2个概念:静态库,动态库.静态库: 是程序在链接时将静态库拷贝到可执行文件里,即生成可执行文件后,即使删除静态库,可执行文件仍可正常执行。动态库: 也叫共享库,程序只是在链接时在可执行文件时保存了该库的信息,可执行文件执行时候需要到LD_LIBRAY_PATH或者/etc/ld.so.config里指定的路径去寻找该库并加载调用,因此如果删除该库,原创 2011-02-11 16:20:00 · 1818 阅读 · 0 评论 -
使用native程序来守护android进程
问题的提出目前android的系统,我们的程序常常由于几种原因被停掉或杀掉而不能及时重启,这对于一个安全程序来说是有相当的隐患的。例如当用户从程序管理里面停掉程序。 其他程序优化系统时杀掉程序。 程序崩溃。 在android系统里,其他程序还能禁掉我们程序各种广播接受器,导致我们程序不能根据广播来启动。问题的解决因此,这里我想了一个办法来解决这个问题。原创 2012-09-11 15:41:03 · 13108 阅读 · 19 评论 -
JNI引用与垃圾回收
本文转自http://hubingforever.blog.163.com/blog/static/171040579201221553444677/ 本文转载整理自: http://my.unix-center.net/~Simon_fu/?p=849http://my.unix-center.net/~Simon_fu/?p=856http://docs.oracle.转载 2014-01-03 11:30:08 · 4513 阅读 · 1 评论 -
linux系统上编译arm版的protobuf库
准备条件:1.安装gcc编译器和make2.安装arm-linux或其他arm编译器可以用arm-linux-gcc -v和gcc -v来检查编译器版本。 从官网下载protobuf-2.5.0.tar.gz.第一步是编译出x86版的库和protoc,按顺序执行下列命令tar -zxvf protobuf-2.5.0.tar.gzcd protobuf-2.5.原创 2014-01-07 16:47:26 · 7364 阅读 · 1 评论 -
JNI编程经验(JNI Tips)
翻译原文来自:http://developer.android.com/intl/zh-cn/training/articles/perf-jni.htmlJNI全称是Java Native Interface, 它是一种使用java语言和原生C/C++语言相互调用,混合编程的方法. 它支持从动态链接库中加载代码, 并能使用C/C++的高效的特性如果你之前对这个还不熟悉, 完整的读一遍翻译 2014-01-06 19:30:07 · 21286 阅读 · 1 评论