自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yanxiangyfg的专栏

忠于实践,记录点滴

  • 博客(29)
  • 资源 (10)
  • 收藏
  • 关注

原创 gcov代码覆盖率测试-原理和实践总结

目录一、gcov简介二、gcov过程概况三、使用gcov的3个阶段四、gcov检测代码覆盖率的原理五、服务程序覆盖率统计六、内核和模块的gcov代码覆盖率测试七、lcov工具使用八、info文件格式信息九、例子FAQ参考感谢 一、gcov简介gcov是什么gcov是一个测试代码覆盖率的工具。与GCC一起使用来分析程序,以帮助创建更高效、更快的运行代...

2018-07-10 17:50:12 56790 27

原创 Linux编译x86架构内核出现_stack_chk_guard未定义错误

背景android模拟器运行于virtualbox中,而virtualbox运行于x86架构的pc端,所以android及其Linux内核都编译成x86架构。当virtualbox的vt未开启的情况下android系统会出现各种问题,如arm库游戏不能运行,桌面平凡挂死重启。通过查看日志,都奔溃在了#00 pc 000183c6 /system/lib/libc.so (__get_thread

2017-07-18 10:56:28 6270

原创 Linux系统调用__get_thread获取TLS失败导致应用程序奔溃

背景Android模拟器运行在PC端,Android应用运行在模拟器内部,当PC机在BIOS中没有打开虚拟化技术(vt-x: intel的硬件虚拟化技术; AMD-V: AMD CPU的硬件虚拟化技术)的时候,在模拟器内部运行ARM库的游戏,出现崩溃或者运行一段时间之后崩溃的问题. 具体奔溃点在__get_tls()+6处. 这里以当乐.apk这个游戏为例子,删除其中libs下的x86库,只保留ar

2017-07-11 17:56:10 2980

原创 Markdown学习之(3)-插入图片

Markdow插入图片的方法一.网络图片插入方式![image](图片网址)或者采用如下形式:![image][id][id]: <图片网址>插入图片加链接:图片加链接:[![image](http://path/to/img.jpg "title")](你的链接地址)图一:带超链接图片,点击打开github图二:普通图片二.本地图片转为网络图片插入为了图片方便保存,也为了Markdown

2017-07-11 17:46:15 2380

原创 Markdown学习之(2)-绘制表格和流程图

MarkDown表格 + 流程图绘制表格绘制在Markdown上写一个表格真是让人头疼的事情,写的不流畅还要担心格式。我为大家总结了以下三种方法,前两种大家或许司空见惯了,第三种是神器。。。一、md原生| 水果 | 价格 | 数量 || -------- | -----: | :----: || 香蕉 | $1 | 5 || 苹

2017-07-11 17:44:30 37720 1

原创 Markdown学习之(1)-实践基本语法文档

MarkDown学习实践文档背景:Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。现在各大博客,小说写作,日志记录等等都使用MarkDown来书写,它让写作者关注写作的内容而不用去关注格式和排版,因为只要写作者按照MarkDown的标记语言格式书写,MarkDown插件就会自动为你布局排版。而且用MarkDown格式书写的文档,能轻

2017-07-11 17:40:32 674

原创 error: conflicting types for 'RTASSERTVAR'

—————-忠于实践,记录点滴——————— 作者:yanxiangyfg 来源:http://blog.csdn.net/yanxiangyfg?viewmode=contents编译virtualbox additions的时候出现如下错误:vboxguest-5.0.4/vboxguest/include/iprt/lockvalidator.h:64:1: error: conflict

2017-01-14 17:57:58 1028

原创 demo集合第1弹:加载windows dll库,并使用dll中函数的方法

—————-忠于实践,记录点滴——————— 作者:yanxiangyfg 来源:http://blog.csdn.net/yanxiangyfg?viewmode=contents 说明:未经允许,拒绝转载背景: 如果程序是在windows中使用,难免要使用DLL动态库,这里就记录下加载dll和使用dll中函数的方法。demo原型:/** demo:加

2016-12-16 18:25:01 1011

原创 window下编译virtualbox源码

环境说明 编译主机系统:windows 7 64位操作系统,Service Pack 1 virtualbox源码版本: 4.3.34编译过程 virtualbox作为开源x86指令架构虚拟机,有着和vmware一样的企业级别应用和性能,所以使用者众多,官方发布的各个版本的镜像和源码,如果官方镜像不符合我们的需求,按我们就需要根据源码来编译出自己

2016-09-13 15:06:48 14261 4

原创 linux mprotect 修改用户态内存的方法

一.简述:      linux内核有时候需要修改用户态的内存,或者从用户态拷贝数据。由于linux内核态和用户态内存有各自的分区,不能相互直接访问,所以: 当用户态态需要访问内核数据时,需要在内核用copy_to_user来吧内核数据拷贝到用户态 当内核态需要访问用户态数据时,用copy_from_user来拷贝用户数据到内核。   copy_to_user实质就是修改用户态的内存,但有时

2016-08-04 18:08:01 6412

原创 git clone错误remote: internal server error + early EOF + index-pack failed的解决方法

本地搭建了一个gerrit服务器器,上次了内核代码,但是当git clone下载的时候出现如下错误:git clone ssh://[email protected]:29418/genymotion_goldfish_kernelCloning into 'genymotion_goldfish_kernel'...remote: internal server error8

2016-08-04 16:26:03 16948

原创 android中自动杀死后台进程的方法

背景: 在android中有时需要在某个条件下自动的杀死后台的apk进程,这里假设点击home键的时候,主动的取杀死后台指定的apk进程。以这样的一个场景为例子,来讲解一种方法。实现步骤: 1.当点击home键的时候,系统会检测到此动作,代码位置为:policy/src/com/android/internal/policy/impl/PhoneWindowManager.jav

2016-07-07 13:52:26 6987

原创 windows--virtualbox端口号映射失败的解决方法:NAT: set redirect TCP host

背景: 在windows 7中安装virtualbox虚拟机运行来如ubuntu、android等系统,当采用NAT模式启动时如果主机pc端需要和虚拟机内部镜像通信,则需要采用端口映射方式来实现,一个端口对应虚拟机内部一个服务。当virtualbox启动阶段会对这些端口进行映射,但是在windows中部分机器会出现端口映射失败的现象,端口映射失败日志如下:00:00:01.125577 NAT:

2016-04-20 14:52:19 5176

原创 git学习--commit-msg缺失导致的missing Change-Id问题分析

一.简介 commit-msg hook 这个hook由’git commit’触发, 且可以通过--no-verify 来略过.它接受一个参数, 包含commit msg的文件的路径.如果以非0状态退出, ‘git commit’ 将会被取消.这个hook可以用于修改message(信息)文件, 用来匹配项目的规范格式(如果有的话).也可以用于校验commit

2016-03-23 13:45:57 52901 5

原创 linux系统学习之实践--虚拟多个cpu核心

应用背景:    目前android系统的游戏朝着重型手游方法发展,部分apk游戏对硬件配置要求极高,甚至为求极致的用户体验不惜限制低配置手机用户的使用,当游戏检测到硬件配置不符合最低要求时直接闪退.  apk应用检测手机硬件配置主要还是检测cpu核心数,内存大小,显存大小等信息.    android模拟器采用virtualbox作为虚拟器在windows等平台上运行androi

2016-03-07 17:49:11 2943

原创 git学习--gerrit服务器搭建总结

背景说明:    gerrit服务器:  作为git代码管理服务器,gerrit为git代码的提交引入强制审核机制(除非特别的授权设置),所用也可以称gerrit为代码审核服务器,其提供团队开发时的严格的多人代码审核入库机制,便于版本管理和版本安全。    git:  版本控制的工具,gerrit是对git提交代码的一个可视化代码审核机制。    gitweb: Gitweb提供了gi

2015-11-20 18:18:05 10798 3

原创 git学习--批量上传本地代码库到gerrit服务器---保留本地代码库所有分支和tag信息

.gerrit服务器代码库建立:此篇文章和repo批量创建远端仓库----建立自己的android代码仓库 的不同点在于,用本章方法可以将本地仓库的所有本地分支信息和tag信息完整的上传到gerrit代码库

2015-11-18 18:14:00 6892 1

转载 x86架构和arm架构处理器分析

x86架构和arm架构处理器分析目录:1.两种cpu架构:冯洛伊曼和哈佛2.x86架构和arm架构分析3.x86架构和arm架构功耗探究一.两种cpu架构:    目前主流的cpu处理器都采用了冯洛伊曼架构或者哈佛架构,那么这和x86\arm架构的关系是什么呢, 冯洛伊曼和哈佛这两个架构指的是cpu架构,是控制数据和代码存储的架构. 而x86和arm架构

2015-08-09 13:45:48 3868 1

原创 ubuntu系统学习之:64位ubuntu系统安装32位兼容库ia32-libs的方法

本人在intel i7上安装了ubuntukylin-14.10-desktop-amd64.iso 的ubuntu,即64位的ubuntu系统,但是很多软件,特别是用wine安装exe时需要使用到32的库,此时就需要安装32位的兼容库,即ia32-libs. 这里根据网友和自己实践的结果总结了有效的几种安装ia32-libs库的方法:方法一:此方法实验过无效,但是目前网络上大部分使用此方

2015-06-21 19:29:32 11824 2

原创 window和linux命令交互之--android镜像自动化编译,通过windows的bat脚本控制ubuntu编译服务器编译镜像

android镜像自动化编译文章现实愿景:    为了实现傻瓜式编译,也就是不管懂不懂linux技术的人都可以通过一键式的执行在windows端的bat脚本,然后触发ubuntu编译服务器进行镜像编译,编译完成之后ubuntu把编译出来的镜像拷贝到windows固定目录下.目的:  一是解放对出版本人员的依赖,随时自己来触发编译.  二是实现每日编译,可以验证库上最新版本合

2015-05-21 13:23:22 1941

原创 android堆栈信息定位方法

在android系统bug定位中经常会遇到堆栈错误,系统打印出一串堆栈信息,此时就需要从这些堆栈信息中分析出导致崩溃的原因,此篇文章就是记录怎样分析到具体函数的方法.直接来一个例子:(此为android模拟器启动过程中出现的错误,偶现,需要分析堆栈信息查看具体原因):###################日志开始###################.....03-20

2015-03-30 15:18:59 3447

原创 android系统去除和增加启动导航页

1.去除android系统原始的导航页面找到Launcher2这个apk源码,在 packages/apps/Launcher2/src/com/android/launcher2/Launcher.java中:1> 去除showFirstRunWorkspaceCling()函数:home页的导航页2> 去除showFirstRunAllAppsCling()函数:点击后之后桌面出现

2015-01-22 11:11:24 2940

原创 去除android导航栏和状态栏(返回键,home键,列表键)

去除导航栏主要意图为:1>当手机又物理按键时,需要把虚拟按键(也叫做导航栏)去除,是用户界面需要,或者隐藏2>想苹果那样只有一个按键的,不要这个虚拟按键3>模拟器上自己做了导航键盘,不需要android自带的虚拟导航按键直接去除的方法很简单:1>去除导航栏: 设置导航栏的宽度为0即可,代码:frameworks/base/core/res/res/values/dime

2014-12-02 18:47:20 5554

原创 git学习--repo批量创建远端仓库----建立自己的android代码仓库

当建立公司的代码管理库:建立单个库的方法: 比如:ssh -p 29418 [email protected] gerrit create-project -n genymotion-2.2.0_4.2/platform_buildgit push ssh://[email protected]:29418/genymotion-2.2.0_4.2/plat

2014-10-30 17:39:30 6787 1

转载 android运行apk停止运行---dalvik vm兼容性问题

genymotion android4.3http://blog.csdn.net/a345017062/article/details/6397465

2014-10-10 14:34:30 4459

原创 android系统镜像裁剪定制---实战篇

android系统裁剪优化一直是各个厂商定制产品的关键步骤,包括浅层次的去除不必要的apk(android apk裁剪定制 )和深层次的裁剪整个编译系统和框架层.   android作为开源系统,各个产品同质化严重,只有深层次的裁剪定制自己的系统,才能充分体现各自产品的特性,也是优化各自产品的关键步骤,此篇文章主要关注编译系统和框架层的裁剪,抛砖引玉, 还有很多地方可以改进的地方,基于工作中时间限

2014-08-22 18:17:17 3027 1

原创 android apk裁剪定制

=====================================保留=====================================================root@vbox86tp:/system/app # ll -rw-r--r-- root     root        29075 2014-07-14 06:31 ApplicationsProvid

2014-07-18 18:28:46 3850

转载 Android编译错误处理--make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1

collect2: ld terminated with signal 9 [Killed]make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1make: *** Waiting for unfinished jobs....开始怀疑是软件的环境没有搭建好导致或者工具

2014-07-16 10:06:03 3902

原创 ubuntu13.04下创建桌面快捷图标---其他ubuntu版本同理

环境:ubuntu13.04知识点

2014-07-09 17:10:21 475

GCC技术参考大全

GCC技术参考大全,ISBN:9787302088431,作者:(美)Arthur Griffith著;胡恩华译;胡恩华译

2017-05-29

《GNU make中文手册-v3.80》.pdf

《GNU make中文手册-v3.80》.pdf 这本书对GNU的make工具解析Makefile的规则做了说明,也就是学习Makefile的官方文档,是对书写GNU协议类Makefile的详细说明和工具参考书。包括make的显示隐式规则介绍,makefile中变量、函数的时使用等

2017-05-21

AT&T 汇编语法学习

对AT&T汇编语法详尽清晰的描述,看过一遍就会了,非常清晰

2017-05-14

An_Introduction_to_GCC_中文__入门全局观书籍

GCC入门介绍,包括编译选项,编译过程,编译工具等。是一本比较好的全局认识GCC的文档

2017-05-14

疯狂virtualbox实战讲学录.pdf

介绍virtualbox详细的内容,包括命令说明,virtualbox技术介绍等

2014-10-15

c++程序设计

好东西,哈,通俗易懂,学习了对c++语法就有了解了

2013-09-08

面向对象程序设计

面向对象程序设计技术,好东西,奉献给大家希望大家喜欢

2013-08-25

android系统原理和开发要点

android系统开发好东西,对于了解真个系统开发有好处

2013-08-25

mips体系架构

mips体系架构分析,通过对mips体系架构的分析,了解mips架构特性,为开发mips架构提供好的思路

2012-11-17

fpga串口通信程序

通过串口的学习,了解fpga的基本语法和操作的流程,通过串口的实际编写和下载等操作,看试验的最后结果就可以很好的入门fpga

2011-09-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除