Focus on the Linux kernel

Experience sharing, benefit oneself and others.技术交流qq:2448383766

学习指针-指针终极理解

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类...

2013-01-26 18:48:56

阅读数:1573

评论数:0

linux debugfs使用分享 软件查看gpio状态

在调试中加入debugfs有时可以起到事半功倍的效果:   adb shell #mkdir /data/debug #mount -t debugfs debugfs /data/debug #cd /data/debug     查看gpio状态 root@android:/...

2012-12-15 23:10:14

阅读数:4387

评论数:0

函数指针与指针函数

【函数指针】       在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型...

2011-05-27 15:49:00

阅读数:1303

评论数:0

Linux 运用debugfs调试方法

运用debugfs调试方法       DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。 通常情况...

2013-04-22 22:01:27

阅读数:2877

评论数:2

同步与互斥概念

(1)同步,也称为直接相互制约,是指某些并发执行的进程为共同完成一个任务,需要相互合作、协同工作,这些合作的进程都是独立地以不可预知的速度推进,这就需要在一些关键点上互相等待,互通消息。 (2)互斥,也称间接相互制约关系,是指多个进程同时竞争一个需要互斥使用的资源(如打印机等),当该资源已经分配...

2011-12-15 22:02:07

阅读数:1513

评论数:0

两个栈实现队列功能C语言实现能运行!

两个栈实现队列功能 #include #include  typedef struct sq  {   char *ps;   int top;   int Maxsize;  }stack; void initstack(stack *s,int ms)  {   s...

2011-12-09 17:16:06

阅读数:1582

评论数:0

关于头文件定义全局变量等问题

全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 可以,在不同的C文件中以static形式来声明同名全局变量。头文件中不可以直接定义变量和函数,但是可以定义static变量 ,类。 extern 用法,全局变量与头文件(重复定义)用#include可以包含其他头文件中变量、函...

2011-12-05 22:38:02

阅读数:5575

评论数:2

C笔试题(判断大端小端模式)

试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 解答: int checkCPU( ) {     {            union w            {                     int  a...

2011-11-30 23:04:36

阅读数:2195

评论数:0

透过笔试题看C中内存和指针的运用

最近答了7次笔试题,稍有些心得,企业再面试c语言不会像过去的那种读程序题写结果或者简单的函数编写,再或者 考你一些简单的逻辑,c的精华是内存和指针的运用,围绕这些我想写一些东西供自己总结和给同事们、同学们、学弟们参考。如下是常见到的笔试 题,如果有笔试,前一天看一遍这些题结果不会让你失望的。 ...

2011-11-30 22:41:59

阅读数:2319

评论数:0

简单makefile写法

print.h #include void printhello(); print.c #include"print.h" void printhello(){        printf("helloword"); } main.c...

2011-11-27 17:49:19

阅读数:1440

评论数:0

一道经典内存题

#define MEMSIZE 1024*1024 int count = 0; void *p = NULL; while(1) {   p = (void *)malloc(MEMSIZE);   if (!p) break;   printf("Current allo...

2011-11-26 10:17:00

阅读数:1182

评论数:0

常见算法题 数据结构

1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。       10    / \   6  14 / \ / \ 4  8 12 16    转换成双向链表 4=6=8=...

2011-11-24 23:19:11

阅读数:1061

评论数:0

构造函数和析构函数

对象的类别: 1局部对象 :对象定义时,对象被创建,当程序退出定义该对象所在的函数体或程序块,对象被释放 2全局对象:当程序开始运行时,对象被创建,当程序结束时,对象被释放 3静态对象:当程序定义静态对象时,对象被创建,当程序结束时,对象被释放 4动态对象:执行运算符new时该对象被创建,...

2011-11-17 22:26:08

阅读数:820

评论数:0

经典c/c++面试笔试题

C/C++ 经典 面试题 面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。 说明:很多时候一个变量,只是声明不分配...

2011-11-16 22:27:43

阅读数:1775

评论数:0

C/C++ 经典 面试题

面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。 说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初...

2011-11-05 16:52:04

阅读数:2258

评论数:0

C快速排序算法

void quickSort(char* arr,int startPos, int endPos)  {  int i,j;  char ch; //轴枢 ch=arr[startPos]; //将首位元素给轴枢 i=startPos;  j=endPos;  while(i {...

2011-11-03 18:06:49

阅读数:1509

评论数:2

面试常考之SPI时序学习

一、SPI总线协议及SPI时序图详解: SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简...

2011-10-27 17:33:56

阅读数:2437

评论数:0

C指针2

第一篇 变量的内存实质 一.先来理解C语言中变量的实质     要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧!     先来理解理解内存空间吧!请看下图: 内存地址→   6       7        8       9       10 ...

2011-10-26 18:20:04

阅读数:863

评论数:0

c语言面试题__指针篇

1. char * const p;   char const * p   const char *p   上述三个有什么区别?   char * const p; //常量指针,p的值不可以修改   char const * p;//指向常量的指针,指向的常量值不可以改   ...

2011-10-26 18:15:13

阅读数:1241

评论数:1

嵌入式linux面试

1. linux内核里面,内存申请有哪几个函数,各自的区别? Kmalloc()   __get_free_page()  mempool_create()     2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的?     3.  int *a; char *b; a ...

2011-07-08 14:17:59

阅读数:4739

评论数:0

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