自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (4)
  • 收藏
  • 关注

原创 ceph rbd diff的实现分析

ceph采用thin provisioning(精简),创建rbd后,并没有分配全部空间给该rbd,而是根据写入数据量进行分配,那么如何查看rbd占用了多大空间,就需要用到rbd diff命令。Jewel里面提供了一个新的接口去查询rbd duceph rbd命令中关于其使用规则描述:diff[–from-snapsnap-name] [–whole-object]image-spec|snap-specDump a list of byte extents in the ima...

2021-03-31 10:32:57 1375

原创 单例模式

单例模式的七种写法博客分类:设计模式多线程JVMServletIBMIDEA转载请注明出处:http://cantellow.iteye.com/blog/838473第一种(懒汉,线程不安全):Java代码 publicclassSingleton{ privatestaticSingleton

2021-03-31 10:16:35 87

转载 core dump原因归纳

一 造成segment fault,产生core dump的可能原因1.内存访问越界a) 由于使用错误的下标,导致数组访问越界b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正常的使用结束符c) 使用strcpy, strcat, sprintf, strcmp, strcasecmp等字符串操作函数,将目标字符串读/写爆。应该使用strncpy, s

2021-03-31 10:09:59 1785

原创 单片机的入门基础

51单片机是学习单片机的入门基础,编程的软件是keil,51开发板的下载器是stc-isp。软件安装:keil最好安装在c盘,下载器很可能安装不了,需要在32位机上安装,需要多试几次。编程注意事项:每次编程时,最好建立单独的文件夹,便于管理和以后运用1,打开keil,点击new project弹出对话框,写上文件名,点击保存,弹出另一对话框 选中atmel中at89c52

2021-03-31 10:00:11 95

转载 qt中pro文件编写

在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。2.模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = appA> app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被

2014-12-24 09:36:51 4539 1

原创 qt动态库与静态库编译、应用以及pri文件创建

一. 静态库的生成1. 测试目录: lib2. 源码文件名: mywindow.h, mywindow.cpp3. 编写项目文件: mywindow.pro注意两点:TEMPLATE = lib CONFIG   += staticlib 4. 生成Makefile:qmake mywindow.pro5. 编译生成静态库libmywindo

2014-12-23 17:48:56 9977 2

原创 qt开发笔记1

QMainWindow继承与Qwidget当Qwidget 类中界面发生变化(例如:最大/小化)时,触发showEvent()函数。类似函数还有changeEvent()keypressEvent()paintEvent()resizeEvent()等等。QEventLoop类在任何时候,你都可以创建一个QEventLoop的对象,然后调用它的exec() 来开始一个局部的事件循环

2014-12-23 16:57:28 1070

原创 wav格式音频文件转换为Mp3格式

1.编译lame(我用的lame-3.99.5)库 编译后会生成相应的lame动态库编译步骤:(1)进到源码目录,找到configure文件,在命令行执行./configure (-h)带参数可以查看编译的信息(2)make(3)make install2.将编译好的动态库放到默认(程序默认查找路径)的路径下 编译好的文件在/usr/local/lib目录下3.在QT工程的

2014-12-19 17:36:14 3160

转载 Qtcreator中常用快捷键总结

Qtcreator中常用快捷键总结F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1         欢迎模式Ctrl+2        编辑模式Ctrl+3        调试模式Ctrl+4        项目设置

2014-12-18 18:28:28 519

原创 多进程文件锁

一、多进程文件锁当多个用户共同使用、操作一个文件的情况下,这时,Linux通常采用的方法是给文件上锁,来避免共享的资源产生竞争的状态1.文件锁方式对当前读写文件进行加锁处理,简单说下两种加锁方式:flock():文件级别的锁,针对整个文件进行加锁。 flock用于对文件施加建议性锁。fcntl()函数:段级别的锁,能够针对文件的某个部分进行加锁。 而fcntl不仅可以施

2014-12-17 10:21:09 5046

原创 Qt——QDir类来实现目录的遍历

1.entryInfoList()与entryList(),第一个函数会返回此文件加下所有文件及目录的完整信息,包括用户组,大小,访问时间,权限等等所有与文件有关的信息。而第二个方法只是返回此目录下的所有文件及目录的名字。2.absoluteFilePath()与absolutePath(),第一个方法返回带本文件名的路径信息,absolutePath返回不带本文件名的路径信息。3.QFi

2014-12-17 09:44:07 1119

转载 linux nfs安装配置

一、安装CENTOS或RHL默认就已安装,如果没有安装的话,通过yum安装即可:yum install nfs-utilsyum install portmap UBUNTU系统,通过apt-get安装:apt-get install  nfs-kernel-server二、配置1、配置文件定义NFS的配置文件为 /etc/exports,内容格式如下:

2014-12-17 09:35:44 667

转载 linux stat函数讲解

stat函数讲解表头文件:    #include              #include 定义函数:    int stat(const char *file_name, struct stat *buf);函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值:      执行成功则返回0,失败返回-1,错误代码存于er

2014-12-15 13:50:20 502

转载 共享内存

[-]共享内存创建共享内存映射共享内存共享内存解除映射共享内存    共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。原理图如下:共享内存的实现分为两个步骤:一、 创建共享内存,使用shmget函数。二、 映射共享内存,将这段

2014-12-09 09:07:59 551

原创 解决ubuntu强制关机后root登录用户消失,只能访客登录问题

访客登录系统,发现系统中“我的用户”为空,导致原因可能是强制关机时,部分配置文件丢失或损坏。       单用户模式进入系统:1、重启ubuntu,在grub界面长按shirft进入grub菜单;2、选择recovery mode,按"e"键进入编辑页面;3、把ro recovery nomodeset 改成rw single init=/bin/bash4、按ctrl+x进入

2014-12-02 17:16:19 8082

转载 proftpd

下载wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5rc3.tar.gz 解压tar zxvf proftpd-1.3.5rc3.tar.gz 进入目录cd proftpd-1.3.5rc3 编译./configure --prefix=/var/proftpd --sysconfdir=/e

2014-11-25 19:46:50 1081

原创 strace 调试工具

strace命令详解strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  strace 显示这些调用的参数并返回符号形式的值。strace 从内核接收信息,而且不需要以任何特殊的方式来构建内核。  下面记录几个常用 option .  1 -f -F选项告诉strace同时跟踪fork和vfork出来的进程  2 -o xxx.txt 输出到某个文

2014-11-25 19:35:07 736

转载 推荐一款嵌入式Linux的FTP服务端软件(stupid-ftpd) .

在嵌入式Linux系统中,有时候需要搭建一个ftp服务器,以便windows或linux系统去访问嵌入式linux系统的数据。现在流行的ftp和vsftpd软件相对比较大,在嵌入式Linux系统下不太合适。最近由于需要,发现了一款很小型的ftp服务器,在这里分享。stupid-ftpd 点击下载根据自己的需要,修改Makefile,将gcc修改为交叉工具链的gcc,比如mips

2014-11-25 19:22:51 3893

原创 arm交叉编译链安装

安装交叉编译工具链:1、首先以root用户登入2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里3、解压命令tar xvzf arm-linux-gcc-4.3.2 -C /注意以上命令必须要有-C而且是大写的后边有个空格也要注意4、配置下编译环境路径 在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后(最后一行

2014-11-25 16:40:46 538

转载 arm平台搭建vsftpd服务

编译vsftpd程序1. 获得源码包:vsftpd-2.1.2.tar.gz2. 解压,进入源码目录:          tar xzvf vsftpd-2.1.2.tar.gz          cd vsftpd-2.1.23. 修改Makefile,指定交叉编译器:          CC = arm-linux-gcc4. make          编

2014-11-25 16:36:46 4960

原创 linux磁盘挂载情况查询

using的几种用法1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。例如:using System; 一般都会出现在*.cs中。2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。这种做法有个

2014-10-11 15:35:00 1650

转载 using的三种用法

using的几种用法1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。例如:using System; 一般都会出现在*.cs中。2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。这种做法有个

2014-10-11 09:24:00 783

原创 图片比较算法

QImage rectImage = mImage->copy(rect);QImage rectOldImage = mOldImage->copy(oldrect);////    for(int i=0;i//    {//        nNewPixelPtr = mImage->bits()+mImage->bytesPerLine()*(rect.y()+i)+

2014-10-09 17:27:45 3854

转载 source 命令

source 命令  2010-11-26 12:47:13|  分类:Linux |  标签:|举报|字号大中小 订阅source 命令 (从 C Shell 而来) 是 bash shell 的内置命令。点命令(就是一个点符号.,从 Bourne Shell 而来) 是 source 的另一名称。这两个命令都以一个脚本文件名为参数,该脚本将作

2014-10-09 14:36:44 733

转载 qt交叉编译环境设置方案

1、qt交叉编译环境搭建方法  2014-03-06 23:47:37|  分类: Qt |  标签: |举报 |字号大中小 订阅(一)准备工作1、下载最新版本的Qt 4.7.2: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.2.tar.gz2、安装交叉编译器4.3.3或其它版

2014-10-09 10:44:13 8200

转载 sudo配置文件/etc/sudoers格式

讲解sudo配置文件/etc/sudoers的格式。# User privilege specificationroot    ALL=(ALL) ALL# Allow members of group sudo to execute any command after they have# provided their password# (Note that later e

2014-10-08 10:35:55 472

原创 开始学习linux遇到的各种问题,初学者可以看看

大概从六七月份开始断断续续的学习linux,因为之前没有接触过,所以在学习的过程中可以说是举步维艰,寸步难行。下面开始逐一的讲解我遇到的问题1.安装虚拟机和ubuntu系统(1)安装

2013-09-18 10:13:14 1137

原创 AD TCL549

用51控制的AD数模转换,单片机通过7个IO口控制四位数码管,其中利用HC595减少对IO口的利用,代码如下:#include #include #define uchar unsigned char#define uint unsigned intuchar str1[]={" "}; uchar str2[]={" "}; /*-------

2012-09-27 14:31:53 1868 1

原创 I2C

此次编写的I2C程序是利用模拟的I2C接口,只要模拟实际I2C的时序,就可以进行操作,但是实际的比模拟的难调一些,利用I2C可以读EPROM进行读写操作代码如下:#include #include #define uchar unsigned char#define uint unsigned intsbit SCL=P2^1;sbit SDA=P2^0;//sbit rs=P2^0;

2012-09-26 13:20:53 403

原创 红外解码

利用红外解码可以的到红外遥控按键的码值,然后就可以利用红外遥控器进行一些操作,这样就比较简单,红外接收需要对时序进行操作,还需要读接收的数据进行检验,代码如下:#include #define uchar unsigned char#define uint unsigned intuchar irtime;uchar startflag,bitnum,irreceok,irprosok,i

2012-09-26 13:11:54 591

原创 温湿度传感器DHT11

用四位数码管显示温度、湿度,二者交替显示,四位数码管通过7个IO口控制,此过程用到74hc595,相当好用。DHT11是我首次接触操作时序对时间要求非常高的原件,编写程序时要相当把握好时间,刚开始一直采集不到数据,最后终于成功。此次运用的硬件完全是自己手工焊接,感觉还可以。#include #include #define uchar unsigned char#define uint

2012-07-10 15:47:13 895

原创 远程时钟控制系统

编写远程时钟控制系统的过程中,此过程中解决了上篇提到的串口与定时器的问题,很好的用到串口通信协议,可通过串口发送菜单调节时钟,发布广告,控制1602显示屏#include #include#define uint unsigned int#define uchar unsigned charvoid cun_shijian(uchar);char shi, fen, miao,yue

2012-07-10 15:23:21 1084

原创 利用89c51单片机编写可调万年历

最近需要编写我学单片机一个星期以来最大的一个项目,目前感觉相当有挑战性,题目如下:1)         项目一(远程时钟控制系统)项目背景:时间对于每个人都很重要,特别是对于高速发展的今天。每个城市都有中央LED显示,上面一般包含有时间,天气相应的信息。说近一点,比如我们学校体育馆的LED屏。对于这些显示系统,我不可能每次调整信息都爬到那么高的位置去调节。为此,我们需要设计一个远程时钟

2012-06-25 21:12:01 5545 3

原创 89c51单片机的简单运用3--串口、液晶显示屏

一、串口串口是连接pc机与单片机的主要工具,利用串口可以用电脑对用单片机来实现工作的设备进行远程控制,为工作提供方便,学习串口过程中,遇到的最大问题是当同时需要用到串口和定时器时,对于TMOD的设置存在矛盾,利用串口需要设置TMOD=0x20,定时器则需要设置为0x10或0x01,目前还不知道如何解决#include#define uint unsigned int#define

2012-06-24 23:13:19 2195

原创 89c51单片机的简单应用2——中断、定时器

一、蜂鸣器的应用Lab--MCU51开发板上控制蜂鸣器的端口是P3^7,低电平有效,可利用它进行音阶发声以下为简单的 #include #include #define uint unsigned int #define uchar unsigned char unsigned int i,a,k; unsigned char temp; void delay(uint

2012-06-23 21:08:28 2588

原创 89c51单片机的简单运用1--数码管、流水灯

一.简单的点灯程序需要记住的1.单片机控制开发板的二极管亮灭:由单片机的P1口控制,注意开发板的原理图,分清楚到底是给低电平亮还是高电平亮,一般都给低电平亮。控制灯分为总线法和位选法,总线法是用十六进制数控制P1口的高低电平,1为高,0为低,位选是选出P1口的任意一位操作。流水灯是通过延时函数或定时器延时,依次控制不同的灯亮来完成流水灯2.数码管的静态显示和动态扫描:Lab

2012-06-22 23:53:10 8619

原创 初学89c52单片机的心得

51单片机是学习单片机的入门基础,编程的软件是keil,51开发板的下载器是stc-isp。软件安装:         keil最好安装在c盘,下载器很可能安装不了,需要在32位机上安装,需要多试几次。编程注意事项:        每次编程时,最好建立单独的文件夹,便于管理和以后运用        1,打开keil,点击new project弹出对话框,写上文件名,点击保存,弹

2012-06-20 23:03:21 2782 2

stupid-ftpd源码和arm平台可执行程序

stupid-ftpd 源码 arm平台 编译好的可执行程序 配置文件

2014-11-27

温湿度传感器

看时序 写程序 教你快速玩转温湿度传感器 数码管显示

2012-10-22

红外解码例程

为学习红外控制的初学者提供软件支持,教你快速入门

2012-10-22

温湿度传感器DHT11程序

DHT11传感器的驱动程序,其中还用四个数码管显示,利用51单片机的七个I/O口控制

2012-07-17

空空如也

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

TA关注的人

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