自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(164)
  • 资源 (3)
  • 收藏
  • 关注

原创 C语言dbm和mW相互转换算法

double dbmToMw( double dbm ){ double mW; mW = dbm/10; mW = pow( 10.0, mW ); return mW;}double mwToDbm( double mW ){ double dbm; dbm = 10*log10(mW); return dbm;}

2020-05-13 14:19:20 1269

原创 git基本操作

基本概念:treemeans工作区存放当前写的代码暂存区临时存储,提交时需要先将修改增加至此本地库存储着历史提交的版本,可用于历史版本恢复将远端的更改拉取到本地git pull将工作区的修改增加至暂存区git add <file>将暂存区的数据提交至本地库git commit -m "log message"将本地库的更改...

2020-04-01 16:26:01 288

原创 CRC校验代码简单注解

unsigned short CRC16_CCITT(unsigned char *puchMsg, unsigned int usDataLen){ ;//根据CRC16的标准选择初值CRCIn的值 unsigned short wCRCin = 0x0000 unsigned short wCPoly = 0x1021; unsigned char wChar = 0; whil...

2020-03-26 15:33:18 619

原创 shell顺序执行

  如果只是简单的需要执行多个命令,只需要在多条命令之间加上命令分隔符即可,如下:(先后打印hello和world)  若后面的命令执行需要依赖于前面的命令成功执行,则可以使用&&符号,如下:(删除一个不存在的文件,然后创建一个新文件)  若后面的命令执行需要依赖于前面命令的错误执行,则可以使用||符号,如下:(创建一个文件,删除,第一次删除成功,&&后面的...

2020-01-14 14:29:31 1005

原创 Makefile学习笔记(一)

make是如何判定什么时候需要编译什么时候不需要编译的:  Makefile的格式如下:targets ... : prerequisites ... command  make执行时会比较targets(目标文件)和prerequisites(依赖文件)文件的修改日期,如果prerequisites中有文件的修改日期比targets中文件的日期新,或者target不存在时,make才会...

2020-01-14 11:33:46 180

原创 利用autohotkey倒换鼠标的前进和后退键

  之前在淘宝上买了一个鼠标,但是前进键是在后面,后退键在前面,一直感觉很不舒服,想到了可以用autohotkey把两个键重新“换一下“。  autohotkey具体实现代码:XButton1:: Send {XButton2}ReturnXButton2:: Send {XButton1}Return  实现的功能就是按鼠标的前进键会产生后退键的效果,反之亦然。具体autoh...

2020-01-08 09:56:02 1629

原创 堆排序学习笔记

堆排序的性质:堆排序的时间复杂度是O(n lgn)。堆排序具有空间原址性:任何时候都只需要常数个额外的元素空问存储临时数据。堆排序引人了另一种算法设计技巧:使用一种我们称为“堆”的数据结构来进行信息管理。堆不仅用在堆排序中,而且它也可以构造一种有效的优先队列。堆的分类以及其分类特性:二叉堆可以分为两种形式:最大堆和最小堆。在这两种堆中,结点的值都要满足堆的性质,但一些细节定义则有所差异...

2020-01-03 14:58:33 195

原创 linux目录项的状态(《linux内核设计与实现》笔记)

目录项对象有三种有效状态:被使用,未被使用和负状态。被使用  一个被使用的目录项对应一个有效的索引节点,并且该对象存在一个或多个使用者。  一个目录项处于被使用状态,意味着它正被VFS使用并且指向有效的索引节点,因此不能被丟弃。未被使用  一个未被使用的目录项对应一个有效的索引节点,但是VFS当前并未使用它。该目录项对象仍然指向一个有效对象,而且被保留在内存中以便需要时再使用它。  由...

2019-12-20 11:38:16 255

原创 无法向flash中写数据

  问题:向flash中写数据的时候发现flash被写了之后,写入的值和预期值不一样,写入的值只会和原来的值相等或者比原来的值小。  原因:flash只写0,不写1,因此需要先对flash进行擦除,擦除会将flash中的内存都变成ff,在这种情况下才能正常写入。  解决方法:先擦除flash要写入内存的部分,而后再开始向flash内存中写数据。...

2019-11-21 15:55:20 1654 3

原创 在分配内存中使用sizeof确定分配空间大小的优点

  sizeof是在编译期间计算的,因而不会带来运行时性能上的损失。  sizeof时可移植的,在不同的环境 下重新编译,编译器将自动修改sizeof计算出来的值。  sizeof可以用于计算自定义的结构体的大小。 --- 《code complete》...

2019-11-12 11:04:37 440

原创 FTP协议active模式上传和下载文件流程

  正常传输状态下的ftp的active模式的客户端下载文件“流程图”。  TYPE中指定的参数指的是ASCII模式或者binary模式  具体数字含义可以百度FTP应答码&响应码  不知为何我使用的ftp版本传输的东西全都是直接用tcp传的,没有加密,如果服务器上有ftp,最好给ftp服务器设立一个专门的用户,只给少数文件的权限,不然就太不安全了。  正常传输状态下的ftp的a...

2019-10-31 14:35:48 1095

原创 为何C语言允许初始化列表中出现多余的逗号

出自《C陷阱与缺陷》

2019-10-11 16:09:12 805

原创 函数声明和函数原型

  在ANSI C中函数原型和函数声明是一样的;但是在K&R C中函数只有声明,并无原型,原型是ANSI C中加入的。  图自《C专家编程》8.4原型之痛

2019-09-30 09:19:42 502

原创 C语言的优先级问题

i=1,2;的问题:

2019-09-20 11:26:31 215

原创 二进制表示中质数个计算置位(LeetCode刷题 C语言)

题目描述:给定两个整数 L 和 R ,找到闭区间 [L, R] 范围内,计算置位位数为质数的整数个数。(注意,计算置位代表二进制表示中1的个数。例如 21 的二进制表示 10101 有 3 个计算置位。还有,1 不是质数。)示例 1:输入: L = 6, R = 10输出: 4解释:6 -> 110 (2 个计算置位,2 是质数)7 -> 111 (3 个计算置位,3 ...

2019-09-15 22:18:25 460

原创 位域运算符

  如果已经知道某一个值永远不会超出某一个范围时,可以结合位域运算符(Bit Field)更加高效的使用内存。未用位域运算符时:#include <stdio.h> // Space optimized representation of the date struct date { // d has value between 1 and 31, so 5 b...

2019-09-03 16:02:37 1089

原创 C++文件操作:按行读取复制到另一个文件

由于对C++的文件操作并不是太熟练,因此复习了一下顺便写了一个小例子用来巩固,顺便解决了换行的问题:#include <iostream>#include <string>#include <fstream>using namespace std;int main(int argc, char *argv[]){ string buf0,...

2019-08-07 16:14:33 1836

原创 QTimeLine的使用案例

效果图:  实现鼠标点击滑动切换页面,控件是在网上扒别人写好的,自己填了几个接口,颜色改了改。  这个是从之前的大作业中提取出来的,控件没有实际意义,只是为了演示滑动效果。本案例QTimeLine使用流程:  初始化:new一个对象 QTimeLine(int duration = 1000, QObject * parent = 0) //第一个参数设置的是持续时间, //...

2019-08-03 17:36:51 690

原创 excel统计各个分数段的人数

  最近在录入成绩,要求分数满足正态分布,于是就在excel中弄了一下,下面是实例:  注意:  数据是rand函数随机生成的,没有实际意义。  在最后的执行函数中选择区域之后按下F4或者在每个区域面前加一个$符以表明为绝对寻址,取值范围用相对寻址。  在最后的执行函数中因为是矩阵计算,需要按CTRL+SHIFT+ENTER才能得到所示结果。  concatenate是连接字符串的函数...

2019-07-05 19:21:25 2854

原创 开发问题笔记

  问题1:可以ping通局域网,但是无法ping通外网,显示网络无法抵达。  解决:未设置默认路由:运行route add default gw 192.168.1.1添加默认网关即可。  问题2:开发板的linux系统时间不同步  从http://doolittle.icarus.com/ntpclient/上下载一个ntpclient。  修改Makefile CC = arm-n...

2019-05-27 17:05:00 155

原创 qt学习笔记之数据库

  实现拖动事件:设置接收拖动事件:setAcceptDrops。重载dragEnterEvent、dragLeaveEvent和dropEvent。

2019-05-14 21:46:54 322

原创 qt学习笔记

  Qt如何自定义类添加到窗口中:新建类,继承QWidget,然后使用layout的addWidget接口即可随意添加进去。  可以在ui编辑器中给pushbutton和主窗体设置icon,给label设置pixmap。  使用MDI Area在一个区域中添加多个窗口。  使用QFileDialog::getOpenFileName函数获取打开文件的名字。  使用QFileInfo可以通过...

2019-05-13 21:31:30 146

原创 数据传输(UNIX环境高级编程笔记)

  只要建立连接就可以使用read和write来通过套接字通信。但read和write能够做的只有交换数据,无法提供更加复杂的操作。  函数send和write很相似,但是可以指定标志来改变处理传输数据的方式。#include <sys/socket.h>int send(int sockfd, const void *buf, size_t nbytes, int fla...

2019-05-07 22:23:04 198

原创 建立连接(UNIX环境高级编程笔记)

  如果要处理一个面向连接的网络服务,在开始交换数据之前,需要在请求服务的进程套接字(客户端)和提供服务的进程套接字(服务器)之间建立一个连接。使用connect函数建立连接。#include <sys/socket.h>int connect(int sockfd, const sockaddr *addr, socklen_t len);                 ...

2019-05-07 21:16:23 256

原创 寻址(UNIX环境高级编程笔记)

字节序  如果处理器架构支持大端(big-endian)字节序,那么最大字节地址出现在最低有效字节(Least Significant Byte, LSB)上。小端(little-dndian)字节序相反,最大字节地址出现在最低有效字节上。  下图显示了一个32位整数的字节是如何排序的:  网络协议指定了字节序,因此异构计算机系统能够交换协议信息而不会被字节序所混淆。  TCP/IP协议...

2019-05-07 20:44:35 314

原创 qt学习笔记(绘图、关闭、尺寸改变事件)

  在paintEvent函数中:QPainter painter(this);painter.drawPixmap(0, 0, this->width(), this->height(), QPixmap("../painter/temp.png"));//使用painter目录下的temp.png图片填充整个窗口  painter.drawPixmap好像无法绘制bmp。尝...

2019-05-05 21:50:51 1158

原创 Qt学习笔记

  获取textEdit中的文本信息:toPlainText、toHtml

2019-05-05 20:10:53 233

原创 qt实现两个窗口互换

右键单击项目名,添加文件选择widgetfirst.h#ifndef FIRST_H#define FIRST_H#include <QWidget>#include "second.h" //包含第二个窗口的头文件namespace Ui {class first;}class first : public QWidget{ ...

2019-04-28 21:50:20 1184

原创 linux网络编程中协议簇AF_和PF_的区别

  在socket.h文件中有对协议簇的宏定义,如下:/* Protocol families, same as address families. */#define PF_UNSPEC AF_UNSPEC#define PF_UNIX AF_UNIX#define PF_LOCAL AF_LOCAL#define PF_INET AF_INET#define PF_AX...

2019-04-28 16:42:23 4944 3

原创 套接字描述符(UNIX环境高级编程笔记)

  套接字是通信端点的抽象。应用程序用套接字描述符访问套接字。套接字描述符在UNIX系统中被当做是一种文件描述符。许多处理文件描述符的函数可以用于处理套接字描述符。  创建套接字需要调用socket函数:#include <sys/socket.h>int socket(int domain, int type, int protocol);                ...

2019-04-28 16:21:23 855

原创 zigbee学习笔记之内核入门(zstack)

  内核先进行一系列硬件初始化。然后进行osal的初始化。调用osal_init_system()函数初始化系统。  在osal_init_system()函数中,先初始化内存和定时器等,再调用osalInitTasks()函数进行任务的初始化。在OSAL_GenericApp.c中已经定义了各个任务的运行函数:typedef unsigned short (*pTaskEventHandle...

2019-04-28 15:23:23 362

原创 POSIX信号量(UNIX环境高级编程笔记)

  POSIX信号量机制是3中IPC机制之一,3中IPC机制源于POSIX.1的实施扩展。  POSIX信号量意在解决XSI信号量接口的及格缺陷。  ● 相比于XSI接口,POSIX信号量接口考虑到了更高性能的实现。  ● POSIX信号量接口使用简单:没有信号量集,在熟悉的文件系统操作后一些接口被模式化了。  ● POSIX信号量在删除时表现的更加完美。删除时操作能继续正常工作直到该信号...

2019-04-27 17:49:22 349

原创 共享存储(UNIX环境高级编程笔记)

  共享存储允许两个或者多个进程共享一个给定的存储区。因为数据不需要在客户进程和服务器进程之间进行复制,所以这是最快的一种IPC。通常,使用信号量同步共享存储访问。  调用的第一个函数通常是shmget,它获得一个共享存储标识。#include <sys/shm.h>int shmget(key_t key, size_t size, int flag);         ...

2019-04-27 15:36:50 425

原创 信号量(UNIX环境高级编程笔记)

  信号量是一个计数器,用于为多个进程提供对共享数据对象的访问。  为了获得共享资源,进程需要执行下列操作:  (1)测试控制该资源的信号量。  (2)若此信号量的值为正,则进程可以使用该资源,在这种情况下,进程会将信号量值减1,表示它使用了一个信号量的资源。  (3)否则,若此信号量的值为0,则进程进入休眠状态,直至信号量值大于0,进程被唤醒之后,将返回步骤(1)。  常用的信号量形式...

2019-04-27 15:06:56 657

原创 消息队列(UNIX环境高级编程笔记)

  消息队列是消息的链接表,存储在内核中,由消息队列标识符标识。  msgget用于创建一个新队列或打开一个现有队列。msgsnd将新消息添加到队列尾端。每个消息包含一个正的长整型的字段、一个非负的长度和实际数据字节数,所有这些都在消息添加到队列时,传送给msgsnd。msgrcv用于从队列中取消息。  每个队列都有一个msqid_ds结构与其相关联:struct msqid_ds { ...

2019-04-27 11:57:38 276

原创 XSI IPC(UNIX环境高级编程笔记)

  每个内核中的IPC结构(消息队列、共享内存或信号量)都用一个非负整数的标识符(identifier)加以引用。  标识符是IPC对象的内部名。为使多个合作进程能够在同一个IPC对象上汇聚,需要提供一个外部命名方案。为此,每个IPC对象都与一个键(key)关联,将这个键作为该对象的外部名。  无论何时创建IPC结构,都应制定一个键,这个键的数据类型是基本结构数据类型key_t,通常在头文件&...

2019-04-27 10:42:08 241

原创 FIFO(UNIX环境高级编程笔记)

  FIFO 有时被称为命名管道。未命名的管道只能在两个相关的进程之间使用,而且这两个相关的进程还要有一个共同创建了它们的祖先进程。#include <sys/stat.h>int mkfifo(const char*path, mode_t mode);int mkfifoat(int fd, const char *path, mode_t mode);         ...

2019-04-26 17:59:27 312

原创 管道(UNIX环境高级编程笔记)

  管道在历史上是半双工的(即数据只能在一个方向上流动)。现在,某些系统提供全双工管道。  管道只能在具有公共祖先的两个进程之间使用。  管道是通过pipe函数创建的。#include <unistd.h>int pipe(int fd[2])                  返回值:若成功,返回0;若出错,返回-1  经由参数,fd返回两个文件描述符:fd[0...

2019-04-26 16:28:09 267

原创 QT学习:实现定时器与进度条绑定

          start按钮对象名为btn_init,stop按钮对象名为btn_end。  在Widget类中声明一个QTimer对象和进度条显示的数值:private: Ui::Widget *ui; int prog_num; //作为进度条显示的数值 QTimer *myTimer; //计时器对象 ...

2019-04-25 21:16:35 2888

原创 存储映射I/O(UNIX环境高级编程笔记)

  存储映射I/O(memory-mapped I/O)能将一个磁盘文件映射到存储空间的一个缓冲区上,当从缓冲区中取数据时,就相当于读文件中的相应字节。与此类似,将数据存入缓冲区时,相应字节就自动写入文件。  为了使用这种功能,应首先高数内核将一个给定的文件映射到一个存储区域中。这是用mmap函数实现的。#include <sys/mman.h>void *mmap(voi...

2019-04-25 20:28:29 290

Object.zip

QTimeLine使用的案例,从其他项目中提取出来的,其中还有三个类似仪表盘的控件。 博文:https://blog.csdn.net/The_perfect_world/article/details/98333147

2019-08-03

qt实现简易计算器

qt实现简易计算器,实现简单加减乘除,并可以实现乘除优先运算。

2019-04-25

qt入门学习之一:登陆框居中,判断name与password是否相同

qt入门学习之一:登陆框居中,判断name与password是否相同,若相同用qDebug输出字符串,否则不做处理。个人练手,没有实际用途,不要下载。

2019-04-22

空空如也

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

TA关注的人

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