C
星空语
linux驱动开发
展开
-
strlen 和sizeof
sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。strlen原型:strlen遇到‘\0’返回,其长度不包括‘、0’sizeof是一个运算符,不是函数。原创 2023-03-09 10:11:52 · 67 阅读 · 0 评论 -
while(i ++) i是先加1 ,再进入循环体
写程序用while(i++)碰到一个问题,i的初始值没有进入循环体,后来验证后发现,i是先加1,再进入的循环体。原创 2023-03-08 16:37:24 · 656 阅读 · 0 评论 -
二分法查找 C
第一行两个正整数n,v(1原创 2023-03-03 19:16:55 · 69 阅读 · 0 评论 -
如何唤醒 wait_event_interruptible()
线程1通过系统调用进入内核,后调用wake_up_interruptible等待唤醒事件,当事件不满足条件时,线程1进入休眠状态。中断或其他线程任务事件满足条件时,调用wait_event_interruptible,唤醒等待在wait_queue_head上的线程1。如果两个线程调用wait_event_interruptible(test,condition)阻塞休眠,一个中断调用wake_up_interruptible(test)但是并没有设置condition为1,会怎么样?原创 2023-02-28 17:04:46 · 358 阅读 · 0 评论 -
Linux下实现线程同步的四种方法:
条件本身是由互斥量保护的。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待“条件变量的条件成立”而挂起;如果另一个线程改变了条件,它发信号给关联的条件变量,唤醒一个或多个等待它的线程,重新获得互斥锁,重新评价条件。动态初始化,int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *cond_attr);对共享资源的访问,要对互斥量进行加锁,如果互斥量已经上了锁,调用线程会阻塞,直到互斥量被解锁。原创 2023-02-28 15:49:04 · 1640 阅读 · 0 评论 -
g2d驱动设计流程
2、根据寄存器手册配置g2d 设备时钟。1、获取g2d 设备寄存器地址及映射。5、实现g2d中断函数。5、实现ioctl函数。原创 2023-02-24 17:03:26 · 262 阅读 · 0 评论 -
const char *str,char const *str,char *const str区别
str指向的内容是只读的,但是str 指向的地址是可以变的。原创 2023-02-23 23:32:30 · 192 阅读 · 0 评论 -
遍历文件夹下所有子目录下的文件(linux C )
void listDir(char *path){ DIR *pDir ; struct dirent *ent ; int i=0 ; char childpath[512]; char childfile[512]; pDir=opendir(path); memset(childpath,0,sizeof(childpath)); while((ent=readdir(pDir))!=NULL) { if(ent->d_type & DT_DIR) {原创 2021-11-23 10:27:40 · 230 阅读 · 0 评论