12 2017 档案

摘要:我一直没有搞得很清楚,回车和换行符有啥区别。记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。符号 ASCII码 意义\n 10 换行NL\r ... 阅读全文
posted @ 2017-12-31 12:29 隔壁王叔叔a 阅读(319) 评论(0) 推荐(0) 编辑
摘要:设备总线驱动模型:http://blog.csdn.net/lizuobin2/article/details/51570196 本文主要参考:http://www.wowotech.net/device_model/platform_device.html platform平台设备驱动... 阅读全文
posted @ 2017-12-30 21:19 隔壁王叔叔a 阅读(2355) 评论(0) 推荐(0) 编辑
摘要:尽管LDD3中说对多数程序员掌握设备驱动模型不是必要的,但对于嵌入式Linux的底层程序员而言,对设备驱动模型的学习非常重要。 Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。换句话说,Linux设备模型提取了设备操作的共同属性,进行抽象,并将这部... 阅读全文
posted @ 2017-12-30 21:18 隔壁王叔叔a 阅读(556) 评论(0) 推荐(0) 编辑
摘要:开发板 :mini2440内核版本:linux2.6.32.2驱动程序参考:韦东山老师毕业班i2c内容概括: 1、adapter client 简介 2、adapter 驱动框架 2.1 设备侧 2.2 驱动侧 2.2.1 probe 函数 ... 阅读全文
posted @ 2017-12-30 21:11 隔壁王叔叔a 阅读(2319) 评论(0) 推荐(0) 编辑
摘要:内核版本:linux2.6.32.2 硬件资源:s3c2440参考: 韦东山SPI视频教程内容概括: 1、I2C 驱动框架回顾 2、SPI 框架简单介绍 3、master 驱动框架 3.1 驱动侧 3.2 设备侧 4、SPI 设备驱动框架 ... 阅读全文
posted @ 2017-12-30 21:10 隔壁王叔叔a 阅读(2274) 评论(0) 推荐(1) 编辑
摘要:book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0/hostapd$ make/usr/bin/ld: cannot find -lnlcollect2: ld returned 1 exit statusmake: *** [hostapd]... 阅读全文
posted @ 2017-12-30 16:25 隔壁王叔叔a 阅读(2458) 评论(0) 推荐(1) 编辑
摘要:无线加密的多种方法及其区别(WEP WPA TKIP EAP)无线网络的安全性由认证和加密来保证。认证允许只有被许可的用户才能连接到无线网络;加密的目的是提供数据的保密性和完整性(数据在传输过程中不会被篡改)。802.11标准最初只定义了两种认证方法: 开放系统认证(Open System Au... 阅读全文
posted @ 2017-12-30 11:38 隔壁王叔叔a 阅读(8483) 评论(1) 推荐(0) 编辑
摘要:编译出来的程序在arm平台上运行时,出现下面的错误。/ # wpa_supplicant -B -c/etc/wpa_wpa2.conf -iwlan0/bin/wpa_supplicant: line 1: syntax error: unexpected word (expecting ")"... 阅读全文
posted @ 2017-12-29 16:24 隔壁王叔叔a 阅读(3239) 评论(0) 推荐(0) 编辑
摘要:使用WIFI网卡的AP功能1、下载源码 hostapd: http://w1.fi/hostapd/2、编译、安装(hostapd依赖于libnl库,需要编译、安装此库)tar xzf hostapd-2.0.tar.gzcd hostapd-2.0/cd hostapd/cp defconfig ... 阅读全文
posted @ 2017-12-27 15:44 隔壁王叔叔a 阅读(1235) 评论(0) 推荐(0) 编辑
摘要:dhcp : 使得WIFI网卡动态获取IP·1、源码获取输入dh看有哪些应用程序,输入dhclient -v查看一下相关信息,源码获取的网址2、开发环境配置解压tar xzf dhcp-4.2.5-P1.tar.gzcd dhcp-4.2.5-P1配置./configure --host=arm-l... 阅读全文
posted @ 2017-12-27 15:43 隔壁王叔叔a 阅读(875) 评论(0) 推荐(0) 编辑
摘要:1、 wpa_supplicant介绍supplicant是恳求者的意思,是wpa的发起者,是发送认证请求的设备(手机),手机——AP——认证服务器,可用于上述4种"认证/加密"2、wpa_supplicant应用程序的编译与使用(阅读README文件)(1) 先编译它的依赖libopensslt... 阅读全文
posted @ 2017-12-27 15:42 隔壁王叔叔a 阅读(903) 评论(0) 推荐(0) 编辑
摘要:1、认证和加密的概念(1)概念(2)阶段划分初级版本:认证不需要密码, 传输不需要加密 认证不需要密码, 传输需要加密(用WEP算法) 认证需要密码(用WEP算法), 传输需要加密(用WEP算法,容易破解)过渡版本:WPA 认证... 阅读全文
posted @ 2017-12-27 15:41 隔壁王叔叔a 阅读(1051) 评论(0) 推荐(0) 编辑
摘要:1、wifi的STA模式和AP模式 Ap(Access Point)模式指的是可以将网卡设置为路由器用来共享流量或有线网络给别人使用, sta模式指的是当做网卡连接路由器上网 (1):AP也就是无线接入点,是一个无线网络的创建者,是网络的中心节点。一般家庭或办公室使用的无线路由器就是一个AP。 ... 阅读全文
posted @ 2017-12-27 15:40 隔壁王叔叔a 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:1、体验(1)ALSA声卡使用体验:使用arecord录音,使用aplay播放,在Alsa-utils里面)准备:cd linux-3.4.2patch -p1 < ../linux-3.4.2_alsa_wm8976_uda1341_jz2440_mini2440_tq2440.patch //... 阅读全文
posted @ 2017-12-27 09:07 隔壁王叔叔a 阅读(724) 评论(0) 推荐(0) 编辑
摘要:1、设置音量时应用程序的调用过程(1)strace分析: amixer cset numid=1 30 (设置音量)/dev/snd/controlC0openSNDRV_CTL_IOCTL_CARD_INFOSNDRV_CTL_IOCTL_PVERSIONSNDRV_CTL_IOCTL_ELEM_... 阅读全文
posted @ 2017-12-27 09:06 隔壁王叔叔a 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:1、调试(1)把程序拷贝到服务器上进行编译(2)把程序放到内核上面去重新配置内核,吧原来的声卡驱动程序去掉a. 修改语法错误 11th_myalsab. 配置内核去掉原来的声卡驱动-> Device Drivers -> Sound card support -> Advanced Linu... 阅读全文
posted @ 2017-12-27 09:06 隔壁王叔叔a 阅读(786) 评论(0) 推荐(0) 编辑
摘要:1、引言(1)应用程序使用声卡的时候,数据流程是:应用程序把数据发送给驱动,驱动把数据发送给硬件声卡,声卡把数据转换成声音数据播放出去。(2)可以使用两种方式发送数据第一种:app发数据,等驱动处理完后再发下一段(处理完再发下一段就会导致声音会断断续续 )第二种:应用程序不断地发数据,驱动程序不断地... 阅读全文
posted @ 2017-12-27 09:04 隔壁王叔叔a 阅读(662) 评论(0) 推荐(0) 编辑
摘要:1、参数设置分析(1)open: soc_pcm_open 依次调用cpu_dai, dma, codec_dai, machine的open或startup函数只在dma的open函数里添加参数相关的代码(2)SNDRV_PCM_IOCTL_HW_PARAMS: soc_pcm_hw_params... 阅读全文
posted @ 2017-12-27 09:01 隔壁王叔叔a 阅读(897) 评论(0) 推荐(0) 编辑
摘要:1、整体框架(1)图示((DAI(全称Digital Audio Interface)接口)) 在嵌入式系统里面,声卡驱动是ASOC,是在ALSA驱动上封装的一层,包括以下三大块(2)程序框架machine:s3c2440_uda1341.ccodec: UDA1341,WM8976platform... 阅读全文
posted @ 2017-12-26 16:54 隔壁王叔叔a 阅读(862) 评论(1) 推荐(0) 编辑
摘要:1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程(1)因为旧的strace工具不能识别不能识别alsa声卡驱动程序里面的ioctrl.(2)编译过程参考http://blog.csdn.net/qingkongyeyue/article/details/5222872... 阅读全文
posted @ 2017-12-26 16:52 隔壁王叔叔a 阅读(1677) 评论(0) 推荐(0) 编辑
摘要:1 、配置内核支持UDA1341(1)内核 解压内核并打上补丁配置内核platform需要设置哪些配置项,先看一下platform,需要把S3c24xx-i2s.c文件配置上去,dma.c也要配置上去。这些文件对应哪一个配置项,可以通过打开内核目录中以上两个文件所在目录下的Makefile。配置编译... 阅读全文
posted @ 2017-12-26 16:50 隔壁王叔叔a 阅读(487) 评论(0) 推荐(0) 编辑
摘要:1、ASoC中重要的数据结构之间的关联方式(1)Kernel-2.6.35-ASoC中各个结构的静态关系 ASoC把声卡实现为一个Platform Device,然后利用Platform_device结构中的dev字段:dev.drvdata,它实际上指向一个snd_soc_device... 阅读全文
posted @ 2017-12-26 16:49 隔壁王叔叔a 阅读(568) 评论(0) 推荐(0) 编辑
摘要:1、简单了解一下ASOC在嵌入式系统里面的声卡驱动为ASOC(ALSA System on Chip) ,它是在ALSA 驱动程序上封装的一层 分为3大部分,Machine,Platform和Codec ,三部分的关系如下图所示:其中Machine是指我们的开发板,Platform是指Soc,而... 阅读全文
posted @ 2017-12-26 16:47 隔壁王叔叔a 阅读(570) 评论(0) 推荐(0) 编辑
摘要:1、声卡驱动程序sound.c(1)入口函数里通过register_chrdev()函数注册file_operations 结构体(2)file_operations 结构体,里面只有open函数,没有发现读写函数,可知open函数是起中转作用的函数,肯定会找到一个新的file_operations... 阅读全文
posted @ 2017-12-26 16:46 隔壁王叔叔a 阅读(639) 评论(0) 推荐(0) 编辑
摘要:1.urb 结构体USB 请求块(USB request block,urb)是USB 设备驱动中用来描述与USB 设备通信所用的基本载体和核心数据结构,非常类似于网络设备驱动中的sk_buff 结构体。123456789101112131415161718192021222324252627282... 阅读全文
posted @ 2017-12-26 14:42 隔壁王叔叔a 阅读(8213) 评论(0) 推荐(0) 编辑
摘要:(在单板上使用WIFI网卡的固件问题)(我的wifi网卡是RT3070)(一般买的网卡说是支持LINUX免驱的话,那么在/lib/firmware/ 下一定有相应的固件)我将USB网卡接入UBUNTU系统里,然后 使用ifconfig 查看,发现果然有 wlan0 这个设备,说明是支持我的网卡的。我... 阅读全文
posted @ 2017-12-26 14:31 隔壁王叔叔a 阅读(494) 评论(0) 推荐(0) 编辑
摘要:使用print打印当前系统环境变量。1、SMDK2440 # printbaudrate=115200bootargs=noinitrd root=/dev/nfs nfsroot=192.168.1.101:/work/nfs_root/fs_mini_mdev_new ip=192.168.1.... 阅读全文
posted @ 2017-12-26 13:44 隔壁王叔叔a 阅读(460) 评论(0) 推荐(0) 编辑
摘要:前段时间接触了wifi,主要是在linux系统下做预研、开发。本文根据个人收集资料及研究经验做了一些基本入门级别的引子,旨在对wifi有一个很基础的入门的认知,比如知道wifi模块硬件接口有哪些,了解wifi驱动,等等。如有需要,可以根据文中给出的术语、链接进行扩展的研究学习。一、硬件接口就笔者接触... 阅读全文
posted @ 2017-12-26 12:45 隔壁王叔叔a 阅读(777) 评论(0) 推荐(0) 编辑
摘要:作为一个驱动开发者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地方的竞争是如此得强烈, 以至于甚至一点用作设备控制固件的 EEPROM 的成本制造商都不愿意花费. 因此固件发布在随硬件一起的一张 CD 上, 并且操作系统负责传送固件到设备自身.硬件越来越复杂,硬... 阅读全文
posted @ 2017-12-26 12:42 隔壁王叔叔a 阅读(707) 评论(0) 推荐(0) 编辑
摘要:1、接入U盘,看输出打印信息并分析(1)输出信息自动创建设备节点(2)用ls命令查看这里/dev/sda表示整个U盘,/dev/sda1表示这个U盘的第一个分区。(3)手动挂载,查看文件,手动卸载(把设备/dev/sda1挂载到目录/mnt目录下 )2、想自动卸载和挂载(1)查看mdev(看它除了创... 阅读全文
posted @ 2017-12-23 16:26 隔壁王叔叔a 阅读(411) 评论(0) 推荐(0) 编辑
摘要:转自http://blog.csdn.net/myarrow/article/details/84841130. 基本概念 一个【传输】(控制、批量、中断、等时):由多个【事务】组成; 一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。 US... 阅读全文
posted @ 2017-12-23 16:21 隔壁王叔叔a 阅读(430) 评论(0) 推荐(0) 编辑
摘要:现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"andro... 阅读全文
posted @ 2017-12-23 16:17 隔壁王叔叔a 阅读(475) 评论(0) 推荐(0) 编辑
摘要:1、驱动编写分析(1)usb总线驱动程序在我们接入USB设备的时候会帮我们构造一个新的usb_device.注册到总线里面来。左边这一块已经帮我们做好了,我们要做的是右边这一块。我们要构造一个usb_driver结构体,然后注册进去。usb_driver结构体里面的id_table表示能够支持哪一些... 阅读全文
posted @ 2017-12-23 16:15 隔壁王叔叔a 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:1、usbmouse.c(1)probe函数在这个probe函数后判断是不是一个鼠标,先得到usb_host_interface结构体,除了端点0外,端点个数如果不是1,返回错误,表示不是自己能支持的设备。如果只有一个端点,放在endpoint这个数组里面。endpoint[0]是表示除了端点0外的... 阅读全文
posted @ 2017-12-23 15:41 隔壁王叔叔a 阅读(404) 评论(0) 推荐(0) 编辑
摘要:USB总线驱动程序的作用1. 识别USB设备1.1 分配地址1.2 并告诉USB设备(set address)1.3 发出命令获取描述符描述符的信息可以在include\linux\usb\Ch9.h看到 (Ch9是指USB规范的第九章)2. 查找并安装对应的设备驱动程序3. 提供USB读写函数把... 阅读全文
posted @ 2017-12-23 15:39 隔壁王叔叔a 阅读(613) 评论(0) 推荐(0) 编辑
摘要:1 预处理问题1:什么是预编译?何时需要预编译?答:预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作。主要处理#开头的指令。如拷贝#include包含的文件代码、替换#define定义的宏、条件编译#if等。.何时需要预编译:1、总是使用不经常改动的大型代码体。2、程序由多... 阅读全文
posted @ 2017-12-22 16:15 隔壁王叔叔a 阅读(2542) 评论(0) 推荐(0) 编辑
摘要:|| 或操作,|| 为界将表达式分为两部分,他会先算前一部分,如果前一部分为真,他将停止运算,如果为假,他才会算第二部分,你这里第一部分就为真了,第二部分当然也就不会算了。例如: a || b ,只有在前一个条件a为假,才会去判断条件b ;若条件a为真,则条件b不会执行&&且操作 ,&&为界将表达... 阅读全文
posted @ 2017-12-21 21:36 隔壁王叔叔a 阅读(391) 评论(0) 推荐(0) 编辑
摘要:ln 的功能是为某一个文件在另外一个位置建立一个同步的链接这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。 当在不同的目录,用到相同的文件时,可以不需要在每一个需要的目录下都放一个必须相同的文件,只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就... 阅读全文
posted @ 2017-12-20 10:10 隔壁王叔叔a 阅读(3377) 评论(0) 推荐(0) 编辑
摘要:Bse64是一种以64个可打印字符对二进制数据进行编码的编码算法。base64在对数据进行编码时以三个8位字符型数据为一组,取这三个字符型数据的ASCII码,然后以6位为一组组成4个新的数据,这4个新的数据有6位,所以它的最大值为2^6=64。我们以4个6位数据的十进制数从base64表中得到最终编... 阅读全文
posted @ 2017-12-18 19:10 隔壁王叔叔a 阅读(4008) 评论(1) 推荐(1) 编辑
摘要:笔记人:又吹风 时 间:2012/12/16主要内容:Microsoft Speech Platform的环境要求与安装过程。 上次也说过了,当前Microsoft Speech Platform最新版本为11,因为该版本缺少相关文件,经常出现莫名其妙的错误,且不能用旧版本的文件替换,所以,下面讲... 阅读全文
posted @ 2017-12-18 16:33 隔壁王叔叔a 阅读(674) 评论(0) 推荐(0) 编辑
摘要:Overview了解Linux怎样处理输入和输出是非常重要的。一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置。同样我们也可以更好地理解输入重定向和输出重定向。Linux标准文件描述符文件描述符缩写描述0STDIN标准输入1STDOUT标准输出2STDERR标准错误输出Li... 阅读全文
posted @ 2017-12-15 14:15 隔壁王叔叔a 阅读(26750) 评论(0) 推荐(4) 编辑
摘要:首先介绍一些查找字符的函数1、strrchr头文件:#include strrchr() 函数用于查找某字符在字符串中最后一次出现的位置,其原型为: char * strrchr(const char *str, int c);【参数】str 为要查找的字符串,c 为要查找的字符。strrch... 阅读全文
posted @ 2017-12-15 11:06 隔壁王叔叔a 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:翻译源:linux-3.4.20\Documentation\video4linux\uvcvideo.txt译文:Linux USB视频类(UVC)驱动程序==================================此文件记录了UVC驱动程序的某些驱动程序特定方面,例如驱动程序特定的ioc... 阅读全文
posted @ 2017-12-13 13:47 隔壁王叔叔a 阅读(1535) 评论(0) 推荐(0) 编辑
摘要:1、虚拟机linux上网问题1.1 VMware中虚拟机网络的三种设置第一种:桥接(bridged)第二种:NAT第三种:Host only 。 这种模式下仅主机可以上网,虚拟机不能上网。1.2、虚拟机上网方式1:NAT方式设置步骤:第一步:在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配... 阅读全文
posted @ 2017-12-13 13:05 隔壁王叔叔a 阅读(166) 评论(0) 推荐(0) 编辑
摘要:网上也有相应的教程,之所以在这里重申一遍,是因为我试了网上很多的编译方法,都出现了问题,为此将此编译安装方法记录下来。首先是 获取x264的网站:http://www.videolan.org/developers/x264.html在这里下载,或者直接在linux下输入下面的命令:git clon... 阅读全文
posted @ 2017-12-12 19:55 隔壁王叔叔a 阅读(243) 评论(0) 推荐(0) 编辑
摘要:项目要用到视频编解码,最近半个月都在搞,说实话真是走了很多弯路,浪费了很多时间。将自己的最终成果记录于此,期望会给其他人提供些许帮助。 参考教程:http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide安装ffmpeg和x264,官方权威教... 阅读全文
posted @ 2017-12-12 19:33 隔壁王叔叔a 阅读(1063) 评论(0) 推荐(0) 编辑
摘要:USB 的全称是 Universal Serial Bus,顾名思义:通用串行总线。 提到总线,联想一下,在你心目中总线总是用来干嘛的?还记得 I2C 总线? I2C 总线上挂有二条信号线,一条是 SCL、 SDA,这二货是干嘛滴?传输数据!对,就是用来传输数据的。换句话说,就是用来通信的。 既然是... 阅读全文
posted @ 2017-12-10 13:14 隔壁王叔叔a 阅读(501) 评论(0) 推荐(0) 编辑
摘要:在 cortex-a8 中,可接入摄像头的接口通常可以分为两种, CAMERA 接口和 USB 接口的摄像头。这一章主要是介绍 USB 摄像头的设备驱动程序。在我们印象中,驱动程序都是一个萝卜一个坑,拿到一个硬件就需要去安装它相对应的驱动程序。有时候稍有不对还会导致电脑崩溃,是不是让人很郁闷?这一章... 阅读全文
posted @ 2017-12-10 11:33 隔壁王叔叔a 阅读(11460) 评论(0) 推荐(1) 编辑
摘要:Unknown symbol 说明 有些函数不知道(未定义)。在调试过程中,发现一个问题,编译生成一个KO文件,insmod加载后报错:Unknown symbol var_set_integer (err 0)Unknown symbol parse_arg_eq (err 0)问题分析思路:一... 阅读全文
posted @ 2017-12-10 10:22 隔壁王叔叔a 阅读(5223) 评论(0) 推荐(0) 编辑
摘要:在说这个解决方案之前,我先说下,目前遇到的问题:我使用 sudo apt-get update 之后,更新失败。具体原因如下:W: Failed to fetch http://cn.archive.ubuntu.com/ubuntu/dists/karmic/main/binary-i386/Pa... 阅读全文
posted @ 2017-12-09 13:31 隔壁王叔叔a 阅读(298) 评论(0) 推荐(0) 编辑
摘要:我使用sudo apt-get update之后,更新失败,遇到如下错误。W: Failed to fetch http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu/dists/precise/main/source/Sources 404 N... 阅读全文
posted @ 2017-12-08 18:39 隔壁王叔叔a 阅读(3428) 评论(0) 推荐(0) 编辑
摘要:YUV格式有两大类:平面(planar)格式和打包(packed)格式。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Lumina... 阅读全文
posted @ 2017-12-08 11:18 隔壁王叔叔a 阅读(369) 评论(0) 推荐(0) 编辑
摘要:MTU = MSS + TCP Header + IP Header.mtu是网络传输最大报文包。 mss是网络传输数据最大值。MTU:maximum transmission unit,最大传输单元,由硬件规定,如以太网的MTU为1500字节。MSS:maximum segment size,最大... 阅读全文
posted @ 2017-12-07 11:20 隔壁王叔叔a 阅读(3681) 评论(0) 推荐(1) 编辑
摘要:看了太多的“自己动手”,这次咱也“自己动手”一下,写个简单的网络抓包工具吧。要写出像tcpdump和wireshark(ethereal)这样的大牛程序来,咱也没那能耐,呵呵。所以这个工具只能抓取本地IP数据报,同时它还使用了BPF,目的是了解如何进行简单有效的网络抓包。当打开一个标准SOCKET套... 阅读全文
posted @ 2017-12-07 10:37 隔壁王叔叔a 阅读(1871) 评论(0) 推荐(0) 编辑
摘要:MTU设置不当,可能会导致许多网络问题,如某些网络应用无法使用,某些网站无法访问等。下面是在网上搜索整理的关于MTU设置的东西,某些可能未作验证,仅供参考。1. 如何确定网络MTU某些ISP接入的MTU可能会比常规使用的MTU小,这时如果设置了过大的MTU,就可能会导致很多服务无法使用的问题。可以通... 阅读全文
posted @ 2017-12-07 10:28 隔壁王叔叔a 阅读(5033) 评论(0) 推荐(1) 编辑
摘要:条件变量通过允许线程阻塞和等待另一个线程发送信号的方法,弥补了互斥锁(Mutex)的不足.1.初始化条件变量pthread_cond_init#include int pthread_cond_init(pthread_cond_t *cv , const pthread_condattr_t ... 阅读全文
posted @ 2017-12-06 08:48 隔壁王叔叔a 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一般用于解决在多线程中,对同一个互斥量多次上锁,造成死锁的问题。互斥锁 (Mutex) 属性 线程和线程的同步对象(互斥量,读写锁,条件变量)都具有属性。在修改属性前都需要对该结构进行初始化。使用后要把该结构回收。我们用pthread_ mutexattr_init函数对pthread_... 阅读全文
posted @ 2017-12-05 15:22 隔壁王叔叔a 阅读(444) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示