上一篇说的是java的本地调用,即使用jni完成java调用c/c++编写的代码,这回仍然是使用jni,不过是倒过来,使用c/c++调用java编写的代码。本次使用环境是:centos5.4,gcc4.9.0,jdk1.6_45。
因为adnroid项目中用到了获取mac地址做为唯一码的功能,c和c++在android却没有对应的api,还好有jni这个东西,用java写好获取mac地址的代码,用c/c++调用代码就可以直接获取mac字符串了。
偶然看到一本书上写umask(掩码)的计算,说是用户的实际文件(夹)权限是通过默认文件(夹)权限与掩码相减得到的。感觉不太对。
首先说为什么要清理子进程(由父进程),在Unix系统中经常会听到一个词“僵尸进程”(Zombie Process[可不是植物大战僵尸^_*]),而“僵尸进程”就是由子进程而来的。
接上文,控制语句下来就是一门语言不可或缺的一部分—函数。
Lua简要笔记。
归并排序笔记,记录下来也希望可以帮助他人,尽可能说得明白。
快速排序原理记录及实现,用了几张图示,虽然是篇笔记,但尽力让所有人明白。
网上最近一直在说Clang这个编译器,说FreeBSD已完全使用Clang为默认编译器,Mac下也是这个编译器,“据说”编译速度比Gcc快出很多,生成出来的可执行文件也比Gcc生成的要小那么几个KB,还有错误提示也要友好很多,更还有各方“大家”对此嗤之以鼻。但是不管如何,做为一个喜欢瞎折腾的码农,不管各个大家是怎么说,自己一定要上手试试的。因为在Windows下没有Clang的二进制包,本着自己动手丰衣足食的原则,决定自己构建一个尝尝鲜(虽然这个’鲜’已然过去很久了), 其实构建过程很简单,官网上的getting started说得很明确了,这里也只是再用中文重复一下: