自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (8)
  • 收藏
  • 关注

原创 变长参数va_list va_start va_arg va_end

对于int printf(const char *format, ...);这种变长参数,需要使用va_list va_start va_end va_arg来访问参数。下面是一个tutorialspoint 的一个使用demo,示范如何使用这几个接口#include<stdarg.h>#include<stdio.h>int sum(int num_args, ...) { int val = 0, i; va_list ap; va_start(ap,

2020-06-29 16:34:16 3661

原创 静态编译文件是否真的到处可运行

这里只讨论一个问题,基于x86_64的静态编译文件是否真的到处可运行?例如在centos上静态链接一个程序是否在ubuntu、suse等linux发行版上运行毫无障碍,这个时间维度也不能毫无边界的扩散,运行的条件是内核支持ELF三种格式,在这讨论0.11版内核完全没有意义。首先一个简单的hello world运行大概率是没有任何问题。一个静态链接程序的排布,我们通过一个简单的helloworld程序来看一下它的链接过程:gcc hello.c -static -o hello -v...... /

2020-06-25 01:39:13 208

原创 linux虚拟文件系统-文件的打开

文件打开的过程主要有两件事,确认文件是否存在,文件存在建立fd,file,dentry,inode,address_space的关联关系dentry的hash管理,加速查找,rcu锁无dentry之后的文件查找,inode的lookup关联各种对象软链接文件的处理…和.的处理挂载点的处理fd和file的映射关系文件的关闭简单的关闭文件释放open flag的作用O_CLOEXEC...

2020-06-20 03:44:48 93

原创 linux虚拟文件系统综述
原力计划

Linux延续了Unix的一个哲学观点:一切皆文件,应用看到的所有对象都是文件,里面除了socket不那么典型之外所有都是文件。而实际情况非常复杂,内核管理着非常多的设备:字符设备、块设备、网络设备,还支持许多类型的文件系统:ext2、ext3、ext4、fuse、ntfs等,另外还有很多的伪文件系统:proc、devfs、sys、debugfs等,特殊的节点类型:netlink、notify、epoll等。没有什么是不能通过增加一个抽象层解决的,VFS就作为linux中的这一抽象层完成了一切皆文件的哲学观

2020-06-16 20:24:56 72

原创 linux内存管理-反向映射
原力计划

为什么需要反向映射正向映射是通过虚拟地址根据页表找到物理内存,反向映射就是通过物理地址找到哪些虚拟地址使用它。应用场景:页面回收compaction匿名页的反向映射文件页的反向映射struct anon_vma {}struct anon_vma_chain}...

2020-06-11 11:16:06 336

原创 ELF中模块间数据引用的重定位

在模块中进行各类数据引用的方式总共分有:模块内数据、函数访问,模块间数据、函数访问,其中模块内的访问在链接时就已经决定了他们的相对偏移,在运行时不再关心这部分的内容,而模块间访问相对就比较复杂了。为了复用物理内存,发明了PIC/PIE技术,将数据和指令分开GOT和PLT stub,这样重定位代码只需要修改GOT的数据部分就可以访问正确的函数了,ELF的PLT和GOT分析了模块间函数访问过程中的lazy bind机制。http://www.qnx.com/developers/docs/qnxcar2/i

2020-06-08 23:43:08 180

原创 linux内存管理-页面规整
原力计划

页面整理页面申请失败有两种情况:1.空闲页不够,触及到回收的阈值2.申请order > 0的连续页时找不到连续的物理内存

2020-06-06 02:08:41 100

Android应用程序开发宝典

Android应用程序开发指南 飞凌嵌入式 让嵌入式开发融入移动互联时代 TE/OK6410

2012-03-01

人体感应智能开关的设计方法

只是一个关于人体感应智能开关的设计方法,说的比较笼统但是思想已经表达出来了

2011-09-05

51单片机串行口讲解

51单片机的串行口实例讲解,主要是一个例子,适合初学者观看

2011-08-27

无线通信原理概述()

无线通信原理的概述,主要讲解了无限电方面的基础知识

2011-07-23

MAX232单片机的c语言程序,适合初学者

这是一个描述关于c语言的串口通信的单片机程序,适合初学者,了解每一步的过程

2011-07-17

matlab命令大全集

这里是好多的matlab命令概括,不懂的可以下载下来每日记住,打印出来更好

2011-04-09

详细的关于1602的资料

这是一个关于液晶显示屏1602的资料,有引脚和内存分配

2011-08-04

74hc138的英文资料

这是一个关于我们常用的74hc138芯片的英文资料,

2011-08-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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