linux系统应用有关
jerry_chg
努力 奋斗
展开
-
linux进程间通信之消息队列
消息队列:使用消息队列的好处:可以给消息附加特定的消息类型。消息队列用于同一台计算机的进程间的通信。相关的系统函数: #include #include key_t ftok(const char *pathname,原创 2011-09-06 18:44:45 · 787 阅读 · 0 评论 -
crc32校验的c语言实现
最近在做软件升级,需要对升级文件进行crc校验,就学习了crc的实现原理crc就是一个数值,该数值用于检验数据的正确性,crc校验的原理就是将需要作校验的数据与一个数据模2相除,得到的余数即为校验值。 模2相除就是在除的过程中用模2加,模2加实际上就是异或运算,就是不进行进位操作,即相同为假,不相同为真。下面是几种CRC校验的生成多项式:CRC8 = X8+X原创 2012-08-12 18:34:22 · 44983 阅读 · 7 评论 -
strcpy、sprintf、memcpy的区别
最近在做远程升级的内容,通过实践才真正体会到不同拷贝函数的作用char*strcpy(char *dest, const char *src);其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出现段错误。int sprintf(char*str, const char *format, ...)函数操作的源对象不限于原创 2012-08-12 12:55:27 · 18518 阅读 · 3 评论 -
嵌入式linux下u盘自动挂载的实现
我实现的方法很简单,主要是周期读取文件/proc/partitions文件,当有u盘插入时,该文件中就会有u盘的信息:“sdb1、sdb2”等,当系统检测到这些信息时,就执行命令mount,将u盘挂载到文件系统中。可以在应用程序中开一个线程来周期读取文件/proc/partitions文件,实习文件的自动挂载。这只是简单的u盘自动挂载,还可以使用hotplug实现U盘的自动挂载原创 2012-04-16 23:03:26 · 8741 阅读 · 0 评论 -
GNU C中的零长度数组
GNU C对标准C进行了一系列的扩充,其中零长度数据就是GNU C所特有的如下结构体:typedef struct _data_struct{int length;char data[0]; }data_struct;就是一个零长度数组,这个结构体并没有为数组data分配空间,此结构体的大小sizeof(data_struct)==sizeof(length)。我们原创 2012-04-16 22:51:22 · 1153 阅读 · 0 评论 -
Linux 定时器编程
一、linux应用程序定时器用到的数据结构为: struct itimerval { struct timeval it_interval; /* next value */ struct原创 2011-08-29 19:00:35 · 1743 阅读 · 0 评论 -
linux进程间通信之共享内存(system v)
System v的共享内存:共享存储允许两个或多个进程共享一给定的存储区,是同一个计算机中进程间通信的最快方式。和共享内存有关的函数: #include #include int shmget(key_t key, size原创 2011-09-06 19:34:44 · 846 阅读 · 0 评论 -
Linux make menuconfig分析及移植kconfig用于应用程序使用
一、makefile基础针对make 命令,其MAKECMDGOALS表示传递给make的所有的参数。测试用例如下(该测试用例输出当前输入的命令内容,MAKECMDGOALS是一个全局变量):%: @echo $(MAKECMDGOALS)all: @echo "no param"执行结果如下:二、Linux make menucon...原创 2019-09-15 21:07:42 · 1837 阅读 · 8 评论