JackPeng

Keep on going never give up

Binder的核心机制分析

为什么要增加Binder机制 常见的进程间通信机制: 管道; 消息队列; 共享内存和socket; 基于性能,稳定性和安全性几方面考虑 性能方面 IPC 数据拷贝次数 共享内存(控制复杂) 0 Binder 1 ...

PPT模板的使用

word==>ppt快速转换 1.自定义快速访问工具栏-添加发送到PowerPoint; 2.转换按标题级别分页,正文不在ppt中显示,对需要在ppt中显示的部分设置标题级别,正文级别不在ppt显示 一键导入ppt模板 打开素材PPT,设计=>下拉框=>浏览主题,选择准备好的模板; 根据每页内容,📧页面,选择不同板式,标题,目录,过渡页等; 批量更换100...

python fire库的使用

介绍 fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何额外的工作,只需要从主模块中调用fire.Fire(),它会自动将你的代码转化为CLI,Fire()的参数可以说任何的python对象 安装 pip install fire 用法 实例1 单个函数:python 模块名 参数1 参数2 在Common...

C语言高级专题第8部分-4.8.一些杂散但值得讨论的问题

《C语言高级专题第8部分-4.8.一些杂散但值得讨论的问题》 官方网站:www.zhulaoshi.org 欢迎大家到论坛讨论学习 第一部分、章节目录 4.8.1.操作系统究竟是个什么玩意? 4.8.2.main函数返回给谁? 4.8.3.argc、argv与main函数的传参 4.8.4.void类型的本质 4.8.5.C语言中的NULL 4.8.6.运算中的临时匿名变量 4.8....

C语言复杂表达式与指针高级应用

《C语言高级专题第7部分-4.7.存储类&作用域&生命周期&链接属性》 第一部分、章节目录 4.7.1.概念解析 4.7.2.linux下C程序的内存映像 4.7.3、存储类相关的关键字1 4.7.4.存储类相关的关键字2 4.7.5.作用域详解 4.7.6.变量的生命周期 4.7.7.链接属性 4.7.8.最后的总结 第二部分...

C语言宏定义与预处理、函数和函数库

《C语言高级专题第6部分-4.6.C语言宏定义与预处理、函数和函数库》 第一部分、章节目录 4.6.1.C语言预处理理论 4.6.2.C语言预处理代码实战 4.6.3.宏定义1 4.6.4.宏定义2 4.6.5.函数的本质 4.6.6.函数的基本使用 4.6.7.递归函数 4.6.8.函数库 4.6.9.字符串函数 3.6.10.数学库函数 3...

C语言段错误调试

有些时候我们在一段C代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了”段错误”。 呵呵,这种问题我想很多人会经常遇到。遇到这种问题是非常无语的,只是提示了”段错误”,接着什么都没 有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。下面介绍一种方法,可以有效的定位出现”段错误的地方”。 当我们的程序崩溃时,内核有可能把该程序当前内存映...

Mac平台下使用nm命令查看文件的符号表

在Mac平台下,可以使用nm命令来查看一个文件的符号表信息。nm命令行工具是附带在Xcode中的,因此在使用之前请事先安装好Xcode。 nm命令的格式大致如下: nm [ -agnoprumxjlfPA [ s segname sectname ] ] [ - ] [ -t format ] [ [ -arch arch_flag ]... ] [ file ... ] 如果不带任...

C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)

详解link  有 些人写C/C++(以下假定为C++)程序,对unresolved external link或者duplicated external simbol的错误信息不知所措(因为这样的错误信息不能定位到某一行)。或者对语言的一些部分不知道为什么要(或者不要)这样那样设计。了解本文之后, 或许会有一些答案。     ...

NDK crash栈信息的错误定位

Android NDK是什么,为什么我们要用NDK? Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括了: 从C / C++生成原生代码库所需要的工具和b...