摘要: 一、UNIX Domain Socket概念:UNIX Domain Socket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC)特点:1. 它不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等2. 只是将应用层数据从一个进程拷贝到另一个进程。工作模式:SOCK_DGRAM 类似于UDPSOCK_STREAM 类似于TCP用途:UNIX Domai... 阅读全文
posted @ 2016-08-09 21:31 Bingghost 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: Linux进程管理来自为知笔记(Wiz) 阅读全文
posted @ 2016-08-09 13:29 Bingghost 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一.进程相关信息/proc目录中包含许多以数字命名的子目录,这些数字表示系统当前正在运行进程的进程号,里面包含对应进程相关的多个信息文件结构如下:进程相关的信息如下:部分信息如下cmdline:maps:进程相关信息:+ /proc/pid/cmdline 包含进程的参数列表+ /proc/pid/environ 进程的环境+ /proc/pid/maps 进程的地址映射信息+ ... 阅读全文
posted @ 2016-08-08 11:39 Bingghost 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-08-07 21:01 Bingghost 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1. 进程地址空间 2.内存管理 栈上分配空间 alloca() 栈上分配大小 strdupa() 拷贝一个字符串到栈上(显然这个函数不安全) 挖漏洞的可以全局的源码审计下这个函数了 strndupa() 拷贝指定长度的内容到栈上 存储器操作函数: memset bzero memmove bcop 阅读全文
posted @ 2016-08-07 16:12 Bingghost 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 画了一天的思维导图,好累啊一.概述二.文件IO三.缓冲区输入输出四.高级IO五.文件和目录来自为知笔记(Wiz) 阅读全文
posted @ 2016-08-06 19:47 Bingghost 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 动态使用共享库函数 dll_main 环境介绍 续上节代码 目录结构: android.mk如下: LOCAL_PATH:=$(callmy-dir) include$(CLEAR_VARS) LOCAL_MODULE:=demo LOCAL_SRC_FILES:=mod1.cppmod2.cppmod3... 阅读全文
posted @ 2016-08-03 13:13 Bingghost 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 目录: 手工编译动态库 ndk-build编译动态库(Eclipse环境) 手工编译静态库 老规矩还是先手工操作,知其然并知其所以然 需要用到的核心命令: gcc -g -c -fpic -Wall mod1.c mod2.c mod3.c gcc -g -shared mod1.o mod2.o mod3.o -o libfoo.so gcc -g ... 阅读全文
posted @ 2016-08-03 13:12 Bingghost 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 目录: 手工编译静态库 ndk-build编译静态库 手工编译静态库 老规矩还是先手工操作,知其然并知其所以然 需要用到的核心命令: gcc –g –c mod1.c mod2.c mod3.c 编译obj (debug版) AR r libdemo.a mod1.o mod2.o mod3.o ... 阅读全文
posted @ 2016-08-03 13:11 Bingghost 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 生成debug版程序 方法一: 使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件 方法二: 修改AndroidManifest.xml文件,增加debuggable属性为true <applicationandroid:debuggable="true" ... 阅读全文
posted @ 2016-08-02 22:36 Bingghost 阅读(2367) 评论(0) 推荐(0) 编辑
摘要: 默认情况下ndk不支持标准C++库,异常, rtti等 在ndk文档有关于C++ support的详细介绍 一. 使用C++标准库 介绍: 默认是使用最小额度的C++运行时库, 在Application.mk中添加APP_STL指明所需要的库 需要注意的是,目标手机或者模拟器上可能没有下面的共享库,此时就需要你作为静态库使用 ndk中各种库的... 阅读全文
posted @ 2016-07-31 21:34 Bingghost 阅读(3276) 评论(0) 推荐(0) 编辑
摘要: NDK学习4: Eclipse HelloWorld 1.配置Eclipse NDK环境 Window->preferences->android->ndk 2.新建Android工程 在工程目录上点右键->Android Tools-> add native support 这个时候工程会多出一个jni目录 3.编辑Hello.cpp #includ... 阅读全文
posted @ 2016-07-31 21:30 Bingghost 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 1.配置环境变量 添加make工具path环境变量: E:\Android\android-ndk-r10b\prebuilt\windows-x86_64\bin 2.编写Hello World 新建hello.c #include <stdio.h> int main(int argc, cha 阅读全文
posted @ 2016-07-30 17:43 Bingghost 阅读(4599) 评论(0) 推荐(0) 编辑
摘要: NDK目录结构 NDK下载好之后目录结构如下: 目录名 描述 build 存放和编译相关的脚本文件,最外面的ndk-build就是调用该目录下的makefile文件,其中makefile文件都存放在build/core目录 docs 帮助文档 platforms 存放不同android版本,不同平台 阅读全文
posted @ 2016-07-30 17:42 Bingghost 阅读(2235) 评论(0) 推荐(0) 编辑
摘要: 下载NDK 国内的一个镜像站点 下载速度比较快 http://wear.techbrood.com/tools/sdk/ndk/#Installing 网上搭建环境的方案有很多 1. Eclipse + ADT + NDK 2. AndroidStudio + NDK 3. VS + NDK 4. 阅读全文
posted @ 2016-07-30 17:41 Bingghost 阅读(1241) 评论(0) 推荐(0) 编辑