自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lh2016rocky的博客

宁静致远,不忘初心

  • 博客(142)
  • 收藏
  • 关注

原创 ubuntu14.04 通过PPA 安装ffmpeg

sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-nextsudo apt-get updatesudo apt-get install ffmpeg安装之后通过运行ffmpeg可以查看安装的版本

2017-07-18 22:43:02 1558

转载 QT子线程与主线程的信号槽通信

最近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI。所以,网络通信端采用新开线程的方式。在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦。网上提供了很多同一线程不同类间采用信号槽通信的方式,但是并不完全适合线程间的信号槽通信,这主要体现在自定义消息的传递上。首先我们看看一般的方式:testthread.h 文件

2017-05-23 22:56:41 2837

转载 Qt Creator 窗体控件自适应窗口大小布局

常见的软件窗口大小改变(最大化、手动改变时)需要窗口的部件能够自适应布局,而在Qt的应用程序界面设计中,对于像我一样的初学者如何实现窗口自适应调整还是要绕点弯路的。网上百度了很多,多数说的很含糊,还有很多是用程序实现的,既然已经有Qt Creator那么高集成度的工具了,我还是倾向于直接在Qt Creator中通过可视化配置的方式完成,一是所见即所得,而是效率要高不少。Qt中如果想实现窗体内空

2017-05-23 21:22:38 1750

转载 Mac下QT错误,Xcode配置解决办法

Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running / >= Xcode 8In Xcode 8, as Bruce said, this happens when Qt tries to find xcrun when it s

2017-05-07 10:56:38 1257

转载 mknod指令详解

mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR]    option 有用的就是 -m了    name   自定义    type   有 b和 c 还有 p    主设备号    次设备号主设备号是由linux/major.

2017-04-28 10:19:18 657

转载 linux下的僵尸进程处理SIGCHLD信号

什么是僵尸进程?首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。而僵尸进程就是指:一个进程执行了exit系统调用退出,而其父进程并没有为它收尸(调用wai

2017-04-28 10:16:33 521

转载 Linux中rc的含义

在Linux中,最为常用的缩略语也许是“rc”,它是“runcomm”的缩写――即名词“run command”(运行命令)的简写。rc”是任何脚本类文件的后缀,这些脚本通常在程序的启动阶段被调用,通常是Linux系统启动时。如/etc/rc(连接到/etc/rc.d/rc)是Linux启动的主脚本,而.bashrc是当Linux的bash shell启动后所运行的脚本。 

2017-04-28 10:14:37 5307

转载 NAU8810相关问题

1.ADC和DAC有什么区别?不,这不是一个“愚弄人的”问题或脑筋急转弯,并且我认为我们的读者都非常清楚模数转换器(ADC)及数模转换器(DAC)的基本功能。但在如何使用这些转换器以及人们的认知度上也存在着哲理性区别。用最简单的话讲,ADC是用来捕获大量未知的信号,并把它转换成已知的描述。相反,DAC是接受完全已知的、深刻理解的描述,然后“简单地”产生等效的模拟数值。简而言之,DA

2017-04-28 10:13:18 2264 2

转载 嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs

Linux 支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统

2017-04-28 10:07:16 2801

转载 详解udev

如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46内核中。Mandrake,Gentoo等Linux分发版本采用了这种方式。devfs创建的设备文件是动态

2017-04-28 10:00:30 531

转载 新一代数据库技术

新一代非关系型数据库有以下5个主要类型:面向文件存储:适用于存储海量文件,代表产品MongoDb列存储(wide column store/column-family)数据库:快速查找相关数据,相关数据被放在同一列中,代表产品Cassandra搜索引擎:适用于存储文件索引,代表产品Solr键值(key-value)数据库:快速访问非相关数据。可以通过key来添加、查询或删除

2017-04-28 09:59:24 5735

转载 嵌入式Linux下3G USB Modem的使用

busybox中需打开:wc,pidof;busybox中shell下打开getopts百度搜索“Serial connection established. using channel 1”包含大量问题解答2013-12-22      0个评论       收藏    我要投稿一.ARM-Linux

2017-04-28 09:57:47 4481

转载 mac 下使用wireshark监听网络上的数据

分三个步骤:    1.wireshark安装        wireshark运行需要mac上安装X11,mac 10.8的系统上默认是没有X11的。先去http://xquartz.macosforge.org/landing/下载最新的 xquartz安装,安装好就有X11了。        wireshark的下载,网上有很多下载源。官网试了几次,没打开的成。可以考虑去华军

2017-04-28 09:54:21 2278

转载 socket通信和异常处理札记

Linux socket通信出现CLOSE_WAIT状态的原因与解决方法这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。关闭socket分为主动关闭(Active closure)和被动关闭(

2017-04-28 09:53:00 16516

转载 udhcpc命令

由于要使用网络通讯,所以不可避免的要用到dhcp。理想的网络通讯方式是下面3种都要支持:  1,接入已有网络。这便要求可以作为dhcp客户端。  2,作为DHCP服务器,动态分配IP。  3,指定固定IP  第3种情况没有什么好说的,简单说下前2种情况。  使用步骤:  (1)在内核的网络项里面把DHCP配置上;  (2)在busybox里面

2017-04-28 09:51:10 8465

转载 MTD应用学习札记

今天做升级方案用到了mtd-utils中的flash_eraseall和flash_cp两个工具,在进行方案验证的时候,遭遇到各种不解和疑惑,因对MTD的原理不熟悉,所以只能多次尝试,虽然最后把方案搞定了,不过觉得MTD中的mtd和mtdblock区别这块还是值得总结学习一下。这里先说明一下问题现象,然后在进行具体的区别原理解释。 MTD设备(Nor Flash)使用中的问题现象表现 

2017-04-28 09:44:44 4143

转载 H.264中IDR帧和I帧区别

IDR(Instantaneous Decoding Refresh)--即时解码刷新。      I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由

2017-04-28 09:39:47 1551

转载 RGB、YUV和YCbCr

之前对RGB、YUV和YCbCr一直没有清晰的理解和认识,今天打算做一个小结,结合网上的文章谈谈自己的看法,也希望有机会看到这篇文章的人能指点一二,相互交流,共同进步。    首先要说明,上述的RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以说明。本质上,彩色模型是坐标系统和子空间的阐述。【

2017-04-28 09:36:30 7263

转载 深入理解linux系统下proc文件系统内容

另外,可以参考这个http://www.centos.org/docs/5/html/5.1/Deployment_Guide/ch-proc.html内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统。 Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的

2017-04-28 09:00:38 355

转载 Linux内核配置选项 (经典学习)

转载地址http://book.csdn.net/bookfiles/972/10097230254.shtml2.5  Linux内核配置选项下面以最新的Linux 2.6.20内核为例,介绍比较常用的一些Linux内核配置选项,其他选项读者可以参考系统提供的帮助信息。需要说明的是,在内核配置中,某项选择Y表示把该项选择进内核,选择M则表示把该项编译成模块

2017-04-28 08:59:12 27247

转载 Linux USB札记

嵌入式linux内核添加USB模块(U盘)支持使用menuconfig工具进行配置1、Device Drivers->SCSI device support->SCSI disk support此选项必须勾选2、Device Drivers->USB support->Support for Host-side USB此选项选中后会出现子菜单,故必须选中

2017-04-28 08:56:37 299

转载 arm-linux 交叉编译 mp4v2

2014-09-23 14:44 1901人阅读评论(0)收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。1、下载mp4v2的源代码(http://code.google.com/p/mp4v2/downloads/list)mp4v2-2.0.0.tar.bz22.  进入相应目录      ./configure --prefix=

2017-04-28 08:33:23 2960

转载 ALSA声音编程介绍

这里了解一下各个参数的含义以及一些基本概念。样本长度(sample):样本是记录音频数据最基本的单位,常见的有8位和16位。通道数(channel):该参数为1表示单声道,2则是立体声。桢(frame):桢记录了一个声音单元,其长度为样本长度与通道数的乘积。采样率(rate):每秒钟采样次数,该次数是针对桢而言。周期(period):音频设备一次处理所需要的

2017-04-28 08:33:22 402

转载 使用mp4v2将aac音频h264视频数据封装成mp4开发心得

这阵子在捣鼓一个将游戏视频打包成本地可播放文件的模块。开始使用avi作为容器,弄了半天无奈avi对aac的支持实在有限,在播放时音视频时无法完美同步。关于这点avi文档中有提到:For AAC, one RAW AAC frame usually spans over 1024 samples. However, depending onthe source container

2017-04-28 08:26:06 9452 1

原创 嵌入式开发硬件知识札记

三态逻辑1. 概念三态指其输出既可以是一般二值逻辑电路,即正常的高电平(逻辑1)或低电平(逻辑0),又可以保持特有的高阻抗状态。高阻态相当于隔断状态(电阻很大,相当于开路)。三态门结构高阻态是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万

2017-04-27 14:57:57 373

转载 使用Automake和Autoconf生成Makefile

automake 所产生的 Makefile除了可以做到程序的自动编译和链接 外,还可以用来生成各种文档(如manual page、info文件),可以将源代码文件包装起来以供发布。所以程序源代码所存放的目录结构最好符合GNU的标准惯例。下面以hello.c程序生成Makefile文件作为例子。1,在当前目录下创建一个名为hello的子目录。hello这个目录用于存放 he

2017-04-27 14:42:22 365

原创 Ubuntu下各种服务搭建及操作技巧

Ubuntu下搭建TFTP1、安装软件包sudo apt-get install tftpd tftp xinetd2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudo vi /etc/xinetd.d/tftp内容如下service tftp  {      socket_type = dgram      pr

2017-04-27 14:32:01 414

转载 Linux锁机制和线程安全

锁机制是多线程编程中最常用的同步机制,用来对多线程间共享的临界区进行保护。1. 互斥锁:pthread_mutex,属于sleep-waiting类型的锁pthread_mutex_t *mutex;int pthread_mutex_int(mutex, attr)    //以动态方式创建互斥锁,参数attr指定了新建互斥锁mutex的属性int pthread_mut

2017-04-27 14:06:43 1201

转载 Makefile经典教程(掌握这些足够)

makefile很重要      什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写ma

2017-04-27 13:59:04 244

转载 linux fstab解读

fstab这个文件挺有用的。从左到右:/dev/device mount-point type rules dump fsck1. /dev/device: 不用说了吧?例如,/dev/hda1为M$-Win9x下的c:盘。2. mount-point: 挂载点。例如,把/dev/hda1挂到/mnt/mywinc下。3. type: ext3, vfa

2017-04-27 11:44:45 1057

原创 系统架构札记

什么是高内聚、低耦合?    起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。    耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

2017-04-27 11:38:33 445

转载 Linux时间函数札记

关于gmtime、gmtime_r、localtime、localtime_r测试环境:vmware 7 + Redhat5.5,系统时间使用UTC,时区为上海。 1、函数功能介绍        使用man gmtime或man localtime都可以的得到这几个函数的介绍。原型如下:        struct tm *gmtime(const ti

2017-04-27 11:23:38 353

转载 grep 常用命令

这个--include选项,可以这样使用:grep -rn --include='*.c' --include='*.h' re .可以指定多次, 如果真是上面的这种情况,  其实可以用grep -rn --include='*.[ch]' re .但是, 如果源文件中含有C++源代码,上面的方法就不凑效了, 因为[]中只能放一个字符.grep

2017-04-27 11:05:15 11500

转载 通用Makefile实现

Makefile是Linux下程序开发的自动化编译工具,一个好的Makefile应该准确的识别编译目标与源文件的依赖关系,并且有着高效的编译效率,即每次重新make时只需要处理那些修改过的文件即可。Makefile拥有很多复杂的功能,这里不可能也没必要一一介绍,为了简化问题的复杂性,本文仅和大家讨论针对单目录下的C/C++项目开发,如何写一个通用的Makefile。首先,我们假设当前工程目

2017-04-27 10:41:45 1576

转载 Makefile札记

Makefile中:= ?= += =的区别2013-12-30 13:49 2167人阅读评论(0) 收藏举报在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验新建一个Makefile,内容为:ifdef DEFINE_VRE    VRE = “Hello World!”

2017-04-27 10:34:20 266

转载 Volatile的陷阱

最近写的关于在嵌入式开发中常遇到的关于volatile关键字使用的短文,都是些通用的技术,贴上来share。 对于volatile关键字,大部分的C语言教材都是一笔带过,并没有做太过深入的分析,所以这里简单整理了一些关于volatile的使用注意事项。实际上从语法上来看volatile和const是一样的,但是如果const用错,几乎不会有什么问题;而volatile用错,后果可能

2017-04-27 10:32:20 466

转载 Linux中变量#,@,0,1,2,*,$$,$?的含义

$# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

2017-04-27 09:35:02 1435

原创 技术与技巧札记

volatile关键字:一般说来,volatile用在如下的几个地方:1、中断服务程序中修改的供其它程序检测的变量需要加volatile;2、多任务环境下各任务间共享的标志应该加volatile;3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义;特殊字符:~ ! @ # $ ^ &

2017-04-27 09:23:47 485

原创 Linux命令行与Shell脚本编程大全读书笔记

Linux内核4大主要功能:内存管理进程管理设备管理文件系统管理Linux系统启动的进程和脚本管理1./etc/inittab   管理系统开机时会自动启动的进程2./etc/init.d     管理开机时启动或停止某个应用的脚本放在这个目录下,/etc/rcX.d目录在启动时,所有加载的脚本都是init.d下脚本的link

2017-04-27 09:16:16 2981

转载 LVM (Logic Volume Management,逻辑卷管理)

是传统商业Unix就带有的一项高级磁盘管理工具,异常强大。后来LVM移植到了Linux操作系统上,尽管不像原来Unix版本那么强大,但瘦死的骆驼比马大,Linux的LVM仍然非常强大,可以在生产运行系统上面直接在线扩展硬盘分区,可以把分区umount以后收缩分区大小,还可以在系统运行过程中把一个分区从一块硬盘搬到另一块硬盘上面去等等,简直就像变魔术,而且这一切都可以在一个繁忙运行的系统上面直接操作

2017-04-27 09:13:44 566

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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