首页
学习
活动
专区
工具
TVP
发布

Android点滴分享

专栏作者
69
文章
77507
阅读量
13
订阅数
Linux 同步管理
对于基础类型操作,使用原子变量就可以做到线程安全,那原子操作是如何保证线程安全的呢?linux中的原子变量如下:
一只小虾米
2023-03-20
1.6K0
Linux内存管理
谈到内存管理,最先想到的就是分段和分页机制。计算机刚出现的时候,并没有这些,刚开始是直接使用的物理地址,也就是代码中操作的地址是可以直接和物理地址对应上的,可是后来随着多进程调度的需求,以及有限的物理内存,于是人们就开始做规定,比如对于一块内存,某个范围是属于内核,然后另外一个范围属于进程A,再另外一个范围属于进程B,如下图所示
一只小虾米
2023-03-19
13.6K0
Linux 进程管理
在内核层面,每个进程都是由task_struct 描述的,这个结构体非常大,可以粗略看下各主要内容:
一只小虾米
2023-03-09
10.1K0
AudioTrack引发的应用Crash分析
还有一个信息是对应的场景是音频焦点丢失情况下。 本地尝试复现发现复现不出来,压测也没有复现。 google上搜了下,也有对应的issue,不过没有fix:https://issuetracker.google.com/issues/234934924
一只小虾米
2023-02-17
8670
Linux 内核之字符设备驱动
这些函数的名字基本都可以自解释。 再介绍下misc 设备,linux 内核将一些不符合预先确定的字符设备划分为杂项设备,使用的数据结构如下;
一只小虾米
2023-02-10
4.8K0
使用 qemu 运行 linux 5.17
本篇记录下本地搭建QEMU环境,运行linux 仿真环境,这样就可以运行自己编译或修改的内核了。
一只小虾米
2023-01-18
1.9K0
汇编学习(12), SIMD之AVX(已完结)
AVX(Advanced Vector Extensions)用的是ymm寄存器,每个256字节。 先看一个数据操运算的例子:
一只小虾米
2022-12-28
4160
汇编学习(11),SIMD之SSE
SIMD(Single Instruction Stream,Multiple Data)可以实现高性能运算,本篇介绍下这块内容。
一只小虾米
2022-12-25
4300
汇编学习(10) 字符串
C语言中定义字符串是会以"\0"结束,汇编中不会这样,只要是一块连续的内存,都可以认为是字符串。 下面是一段操作字符串的代码:
一只小虾米
2022-12-19
3890
汇编学习(9), 命令行参数,C与汇编
命令行参数个数会保存到rdi中,rsi会记录包含参数地址的数组地址。 接下来也可以debug确认下:
一只小虾米
2022-12-19
5640
汇编学习(8) 宏,IO
首先宏并不是汇编支持的,而是nasm 汇编器支持的,这个也容易想到,汇编本身是一套指令,而宏就是将若干指令替换成一个符号,在编译的时候再展开到代码中,这完全是编译层面的能力。 接下来看一个代码例子,nasm汇编的使用;
一只小虾米
2022-12-13
4740
汇编学习(7), Bit 操作
这儿再回顾下leave 和ret的区别: leave 本质上就是epilogue 指令,恢复rsp指针,从栈上弹出rbp指针。 ret本质上也是弹栈,将栈上保存的返回地址弹出并赋值给rip指针,这样就可以接着执行了。
一只小虾米
2022-12-11
2660
汇编学习(6), 外部函数,调用约定
在前面已经多次见过使用printf了,这次我们也可以自己写一些外部函数,下面是一个例子: 首先定义2个外部函数,分别是c_area和c_circum。
一只小虾米
2022-12-11
5690
汇编学习(5),函数,栈帧
这儿又出现了一个leave指令,leave就等同于 mov rsp,rbp,pop rbp。
一只小虾米
2022-12-07
4360
汇编学习(4), 整数,栈,浮点
可以用于有符号,也可以用于无符号,第二个操作数会加到第一个操作数上。对于有符号数,如果第一个操作数放不下结果,那么CF 标记会置位,对于无符号数,OF标记会置位,如果结果是0,ZF标记会置位,如果结果是负数,那么SF标记会置位。 sub 和add类似,无需重复。
一只小虾米
2022-12-07
2460
汇编学习(3),ddd以及跳转循环
可以发现ddd 就是带有GUI的gdb,先在main上打个断点,点击run,这时候就会停到main上。
一只小虾米
2022-12-02
3560
汇编学习(2),数据表示与寄存器
本篇介绍下数据在计算机中的表示形式以及常用的寄存器, 最后再学一个稍微复杂点的代码。
一只小虾米
2022-12-02
4140
汇编学习(1),汇编之helloworld
makefile可以这样看,目标hello依赖hello.o, 而hello.o又依赖hello.asm, 如果hello.asm的修改时间大于hello.o,那么hello.o下一行的命令就需要执行。
一只小虾米
2022-11-28
7660
ELF 64 格式详解
节包含了ELF文件中除了文件头,程序段头表,节头表之外的所有内容。 节的索引中有几项是特殊的,比如如下几个:
一只小虾米
2022-11-23
6870
Dwarf 格式介绍
在软件调试中,一种有效的方法是用打断点,这样可以实时看到堆栈,变量,寄存器的变化,那调试器是如何完成源代码和执行指令的关联呢?本篇来解答这个问题。
一只小虾米
2022-11-18
1K0
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档