10 beyond702

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

mediacodec和OpenGLES纹理共享方案

1、OpenGL生成纹理2、纹理绑定到SurfaceTexture上3、用SurfaceTexture做参数创建Surface4、MediaCodec解码的视频就往Surface发送,就显示出画面了直接上代码vertex_shader.glslattribute vec4 av_Position;attribute vec2 af_Position;varyin...

2019-11-11 20:55:40

SO文件包大小优化

1、编译参数--ffunction-sections,-fdata-sections,链接参数-Wl,--gc-sections,--ffunction-sections和-fdata-sections会把符号编译成单独的section,--gc-sections在链接的时候会去掉用不到的符号,从而减小包大小2、-Ox,各个级别的包大小关系:-O3>-O2&g...

2019-05-23 10:10:29

C++内存布局详解

C++类中有两种成员变量,三种成员函数:其中对象的内存布局中只包含非静态的成员变量,静态的成员变量是在全局数据区。C++中类的继承类型,以及对应的类实例内存布局如下图:1. 单继承继承情况如下:对应的对象内存布局:2. 一般多继承(非菱形)继承情况如下:对应的对象内存布局:3. 一般多继承(菱形)类继承情况:对应的对象内存布局...

2018-01-28 13:04:07

FLV文件格式详解

具体格式可以参看flvspec。下面主要介绍上图中的Tag里面的字段,每个Tag由两部分组成:TagHeader和TagData。1.TagHeader名称长度介绍Tag类型1bytes8:音频9:视频18:meta其他:保留数据区长度3bytes在数据区的长度

2017-12-29 17:34:18

git tag使用方法

原文地址:http://blog.sina.com.cn/s/blog_157abb48f0102wjcw.html标签管理发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个comm

2017-10-21 16:12:03

Android shell获取和模拟点击事件

1.获取点击屏幕的坐标位置通过adbshellgetevent命令获得点击屏幕的位置坐标的方法:第一步:计算比例首先通过命令adbshellgetevent-p|grep-e"0035"-e"0036"获得event体系里宽(0035)和高(0036)以当前我使用的手机为例,命令会输出如下信息:0035 :

2017-04-05 16:13:50

Git永久删除commit

工作中有一次不小心提交了不该提交的代码到GIT上,而且在发现之前又提交了几个commit,现在想在GIT服务器上永久删除这个commit,具体步骤记录如下。    假设当前分支为master,当前的commit情况如下,现在需要删除commit_id_2和commit_id_4:commit_id_1commit_id_2commit_id_3commit_id_4

2017-03-21 22:25:03

Linux格式化Log宏

#define PRINTF_DEBUG(args)  {\    struct tm *__now; \    struct timeb __tb; \    char __datestr[16];\    char __timestr[16];\    char __mss[4];\    ftime(&__tb); \    __now=localtime(&__

2017-03-16 22:36:53

git命令大全图

2017-03-15 12:12:00

Android ELF文件编译之符号隐藏

编译系统是一套非常强大的系统,有众多的编译参数,但是大部分人只听过很少几个,希望以后能有时间好好看一下相关的资料研究清楚。今天来介绍Android下面NDK编译so时,怎样实现符号隐藏,gcc默认的情况下是将所有符号都导出的,为了安全启见可以将符号隐藏,可以给破解带来很大的麻烦,另外还可以有效减小so文件的大小,还有一个好处是可以加快程序的运行速度。隐藏符号基本有几种方式:一种是在函数定义

2017-02-21 14:59:49

Git远程分支和refs文件详解

原文地址:http://blog.csdn.net/forever_wind/article/details/37506389最近同时同步博客到github和gitcafe上,遇到一些问题,我们分如下几个方面来分析一下:推送远程分支到同一个服务器比如首先建立git服务器,顺便clone出两个副本mkdirservercdservergitinit--bare

2017-01-13 11:03:34

Android SO 加壳(加密)与脱壳思路

原帖地址:http://blog.csdn.net/jltxgcy/article/details/522052100x01 常见的Android SO加壳(加密)思路    1.1 破坏Elf Header    将Elf32_Ehdr 中的e_shoff, e_shnum, e_shstrndx, e_shentsize字段处理,变为无效值。由于在链接过程中

2016-12-21 16:25:07

花指令文章

http://blog.csdn.net/qincode/article/details/16116091http://blog.csdn.net/yangbostar/article/details/6194133http://www.cnblogs.com/hrhguanli/p/3843298.htmlhttp://bbs.pediy.com/showthread.php

2016-12-19 19:18:41

Android C语言_init函数和constructor属性及.init/.init_array节探索

了解C语言的程序猿都知道有两种方法可以让一部分代码在so或可执行文件被加载的时候先于其它任何函数执行,一种是定义一个void _init(void)函数,另一种是在函数后面声明constructor属性。那么这两种方式在执行的时候有什么区别吗?先后顺序呢?了解ELF文件格式的人又会问它们在文件中的位置又有什么差别呢?这篇文章就来解答这些问题。首先你需要了解一下ELF文件格式了,这里就不啰嗦了,

2016-12-13 11:42:51

ELF文件分析中的重要工具

1. file用于查看文件的简单信息BriansdeMacBook-Pro:armeabi-v7a brian$ file libcheckcert.so libcheckcert.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped

2016-12-09 17:02:37

LeetCode 372. Super Pow解题思路(超详细)

这道题实际上是考察快速幂,所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。我们先从简单的例子入手:求。算法1.首先直接地来设计这个算法:intans=1;for(inti=1;i<=b;i++){ans=ans

2016-11-18 19:57:31

Android内核之运行自定义内核

获取Android内核的途径有两种,一种是从设备中提取内核,可以看我另外一篇文章;另一种方式是从官网去下载内核源码,编译然后刷到手机里。这里我们讲第二种方式。

2016-11-15 19:10:42

Mac下AOSP编译和刷机过程中的各种坑

常见的几个坑我这里就不记录了,大家可以Google,这里就记录一个我搞了半天的坑,是有关JDK的。这里我使用的AOSP是Android4.4。最开始我是使用jdk1.8版本编译,出现下面错误:host Java: doclava (out/host/common/obj/JAVA_LIBRARIES/doclava_intermediates/classes)external/docla

2016-11-14 15:34:47

Android内核之内核提取

Android设备启动的时候有两种模式:第一种是正常启动,使用boot分区;第二种是启动恢复过程,使用recovery分区。这两种分区的结构是相同的,后面会介绍到。两者的区别顾名思义,这里不多说了。这两个分区的镜像文件分别对应boot.img和recovery.img,我们可以从很多渠道去获取到,其中包含了系统非常重要的东西。boot.img镜像文件中包含了内核镜像文件(通常命名为zImage

2016-11-10 11:54:12

Android系统属性SystemProperty分析

原帖地址:http://www.cnblogs.com/bastard/archive/2012/10/11/2720314.html一 System Property  代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共

2016-10-25 10:29:03

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。