驱动笔试
eqwewr
这个作者很懒,什么都没留下…
展开
-
C链表基本操作 笔试常考类型
<br /> C链表基本操作<br /><br />/*<br />单向链表的图示:<br />---->[NULL]<br />head<br />图1:空链表<br /> <br />---->[p1]---->[p2]...---->[pn]---->[NULL]<br />head p1->next p2->next pn->next<br />图2:有N个节点的链表<br />*/<br /># include <stdio.h> <br /># include <malloc.转载 2011-05-29 14:07:00 · 1790 阅读 · 0 评论 -
简单makefile写法
print.h#includevoid printhello();print.c#include"print.h"void printhello(){ printf("helloword");}main.c #include"print.h"main(){ printhello(); return 0;}mak原创 2011-11-27 17:49:19 · 1682 阅读 · 0 评论 -
C/C++ 经典 面试题
面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。面试题2:写出bool 、int、 float、指针变量与“零值”转载 2011-11-05 16:52:04 · 2761 阅读 · 0 评论 -
透过笔试题看C中内存和指针的运用
最近答了7次笔试题,稍有些心得,企业再面试c语言不会像过去的那种读程序题写结果或者简单的函数编写,再或者 考你一些简单的逻辑,c的精华是内存和指针的运用,围绕这些我想写一些东西供自己总结和给同事们、同学们、学弟们参考。如下是常见到的笔试 题,如果有笔试,前一天看一遍这些题结果不会让你失望的。一、 想说一说关于集中数据类型的sizeof问题,这题出现率40%sizeof就是求在内存总占多转载 2011-11-30 22:41:59 · 2567 阅读 · 0 评论 -
C笔试题(判断大端小端模式)
试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答:int checkCPU( ){ { union w { int a; char b; } c;转载 2011-11-30 23:04:36 · 2515 阅读 · 0 评论 -
关于头文件定义全局变量等问题
全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?可以,在不同的C文件中以static形式来声明同名全局变量。头文件中不可以直接定义变量和函数,但是可以定义static变量 ,类。extern 用法,全局变量与头文件(重复定义)用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#i转载 2011-12-05 22:38:02 · 6381 阅读 · 2 评论 -
linux驱动面试常见题目
1. linux内核里面,内存申请有哪几个函数,各自的区别?Kmalloc() __get_free_page() mempool_create() 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3. int *a;char *b;a 和 b本身是什么类型?a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?转载 2011-07-06 21:17:04 · 10182 阅读 · 0 评论 -
两个栈实现队列功能C语言实现能运行!
两个栈实现队列功能#include#include typedef struct sq { char *ps; int top; int Maxsize; }stack;void initstack(stack *s,int ms) { s->ps=(char*)malloc(ms*sizeof(char)); s->top=-1;转载 2011-12-09 17:16:06 · 1902 阅读 · 0 评论 -
嵌入式linux面试
1. linux内核里面,内存申请有哪几个函数,各自的区别?Kmalloc() __get_free_page() mempool_create() 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3. int *a;char *b;a 和 b本身是什么类型?a、b里面本身存放的只是一个地址,难道是这两个地址有不同么?转载 2011-07-08 14:17:59 · 5199 阅读 · 0 评论 -
同步与互斥概念
(1)同步,也称为直接相互制约,是指某些并发执行的进程为共同完成一个任务,需要相互合作、协同工作,这些合作的进程都是独立地以不可预知的速度推进,这就需要在一些关键点上互相等待,互通消息。(2)互斥,也称间接相互制约关系,是指多个进程同时竞争一个需要互斥使用的资源(如打印机等),当该资源已经分配给某个进程使用时,其它进程只能等待,直到该资源被释放。转载 2011-12-15 22:02:07 · 2041 阅读 · 0 评论 -
linux debugfs使用分享 软件查看gpio状态
在调试中加入debugfs有时可以起到事半功倍的效果: adb shell#mkdir /data/debug#mount -t debugfs debugfs /data/debug#cd /data/debug 查看gpio状态root@android:/data/debugfs # cat gpioGPIOs 0-15: gpio-0 (fr原创 2012-12-15 23:10:14 · 5647 阅读 · 0 评论 -
学习指针-指针终极理解
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。指针本身占了多大的内存?你只要用函数sizeof(指针的类型)测一下就知道了。在32转载 2013-01-26 18:48:56 · 1801 阅读 · 0 评论 -
一道经典内存题
#define MEMSIZE 1024*1024int count = 0;void *p = NULL;while(1) { p = (void *)malloc(MEMSIZE); if (!p) break; printf("Current allocation %d MB\n", ++count);}2,while(1) { p = (vo转载 2011-11-26 10:17:00 · 1490 阅读 · 0 评论 -
常见算法题 数据结构
1.把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14/ \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:struct BSTre转载 2011-11-24 23:19:11 · 1308 阅读 · 0 评论 -
C快速排序算法
void quickSort(char* arr,int startPos, int endPos) { int i,j; char ch; //轴枢ch=arr[startPos]; //将首位元素给轴枢i=startPos; j=endPos; while(i{ while(arr[j]>=ch && iarr[i]=arr[j]; //将停在该元原创 2011-11-03 18:06:49 · 1690 阅读 · 2 评论 -
函数指针与指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的参数列表。例如:int (*f)(int x);double (*ptr)(dou转载 2011-05-27 15:49:00 · 1499 阅读 · 0 评论 -
嵌入式笔试杂七杂八
<br />(1)c语言问题,union和struct 的区别?<br />共享一个存储单元和按定义分配存储单元。<br />(2)sizeof(一大堆变量),如果用这个函数分配内存的大小一定与定义相同吗?<br />答曰:想不相同不清楚,但是肯定的是指回答不会小,因为使用sizeof分配内存不会错。<br />(3)解释什么是优先级反转。<br />答曰:多任务运行过程中,因为临界资源相互等待占用,导致高优先任务得不到满足,造成低优先级任务先执行的后果。<br />4. static有什么用途?(请转载 2011-05-31 19:09:00 · 1488 阅读 · 0 评论 -
嵌入式笔试试题1
<br />1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)<br /><br /> #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL<br /> 我在这想看到几件事情:<br /> 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)<br /> 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。<br />转载 2011-05-06 23:29:00 · 2180 阅读 · 1 评论 -
c经典面试试题<一>
试题一一、问答题1. 请简述static的作用?……………………………………………………………………… 3’2. 请简述volatile的作用?…………………………………………………………………… 3’3 头文件中ifndef / define / endif 是做什么用的?………………………………………… 3’4. #include 和 #include “filename.转载 2011-07-02 15:50:51 · 1663 阅读 · 0 评论 -
C笔试三
试题三的参考答案程序题1、输出:2,5程序题2、答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20 data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52.程序题3、请填写BOOL转载 2011-07-02 15:53:28 · 1857 阅读 · 0 评论 -
C经典面试试题二
试题二问答题1、局部变量能否和全局变量重名?2、如何引用一个已经定义过的全局变量?3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?4、动态连接库的两种方式?5、 int i=10, j=10, k=3; k*=i+j; k最后的值是?6、C++中什么数据分配在栈或堆中,New分配数据是在近堆还是远堆中?7、 什么是“引用”?申明和使用“引用”要注意哪些问题?8、转载 2011-07-02 15:52:04 · 1544 阅读 · 0 评论 -
linux i2c机制
I2C总线 嵌入式linux 驱动开发 1、I2C总线简介 I2C (Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线最主要的优点就是简单性和有效性。 1.1 I2C总线工作原理 I2C转载 2011-07-08 10:00:50 · 2354 阅读 · 0 评论 -
c语言面试题__指针篇
1. char * const p; char const * p const char *p 上述三个有什么区别? char * const p; //常量指针,p的值不可以修改 char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p------------------转载 2011-10-26 18:15:13 · 1483 阅读 · 1 评论 -
C指针2
第一篇 变量的内存实质一.先来理解C语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质,所以我就从“变量”这个东西开始讲起吧! 先来理解理解内存空间吧!请看下图:内存地址→ 6 7 8 9 10 11 12 13-------------------------转载 2011-10-26 18:20:04 · 1000 阅读 · 0 评论 -
经典c/c++面试笔试题
C/C++ 经典 面试题面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。面试题2:写出bool 、int、 f转载 2011-11-16 22:27:43 · 1999 阅读 · 0 评论 -
面试常考之SPI时序学习
一、SPI总线协议及SPI时序图详解:SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 SPI是一个环形总线结构,由ss(转载 2011-10-27 17:33:56 · 4989 阅读 · 0 评论 -
构造函数和析构函数
对象的类别:1局部对象 :对象定义时,对象被创建,当程序退出定义该对象所在的函数体或程序块,对象被释放2全局对象:当程序开始运行时,对象被创建,当程序结束时,对象被释放3静态对象:当程序定义静态对象时,对象被创建,当程序结束时,对象被释放4动态对象:执行运算符new时该对象被创建,执行运算符delete时对象被释放class C{private: string name;转载 2011-11-17 22:26:08 · 995 阅读 · 0 评论 -
Linux 运用debugfs调试方法
运用debugfs调试方法 DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。通常情况下,最常用的内核调试手段是printk。但printk并不是所有情况都好用,比如打印的数据可能过多,我原创 2013-04-22 22:01:27 · 3686 阅读 · 2 评论