- 博客(21)
- 收藏
- 关注
原创 《软件测试的艺术》笔记
目录一、软件测试基本知识1.1 黑盒和白盒测试1.1.1 黑盒测试1.1.2 白盒测试1.2 测试原则二、代码检查、走查与评审三、测试用例的设计3.1 白盒测试3.1.1 语句覆盖3.1.2 判定覆盖3.1.3 条件覆盖3.1.4 多重条件覆盖3.2 黑盒测试3.2.1 等价划分3.2.2 边界值分析3.2.3 因果图3.2.4...
2019-11-25 20:34:16 306
原创 QT实例演示
通过一个实际案例来介绍开发程序的流程和QT的各个模块。 开发程序流程包括系统结构设计、模块设计、层次划分、模块实现、模块间通信、模块匹配。 QT模块包括在界面设计CSS样式、web网站文件的上传和下载、应用程序实例检测、外部动态链接库调用、系统托盘管理、查看网络状态、执行外部进程、进程间通过Windows消息通信、INI和JSON格式文件读写、使用in...
2019-11-01 17:00:15 6601
原创 Qt4与Qt5的三个区别
1.新增widgets模块 在Qt4中,Qt提供的全部图形界面相关类都包含在Qt Gui模块中,但QT5将一些图形界面类移到了QT widgets模块中。所以在Pro文件中,需要增加一句话:greaterThan(QT_MAJOR_VERSION, 4):QT += widgets 意思是如果Qt版本大于Qt4,则需要增加widgets模块。2...
2019-07-28 22:21:57 13226
原创 Intel多线程技术的使用与优化——《多核多线程技术》
一、帮助测试的软件1. Intel VTune性能分析器 Intel VTune性能分析器可以帮助定位程序中与性能有关的问题。其在Windows下支持图形化界面,可支持命令行输入。主要功能有: 取样功能可以帮助开发者定位程序中最消耗时间的函数和模块; 曲线图可确定程序运行时函数调用顺序和显示关键路径; 计数器监控器确定是...
2019-07-28 20:12:28 1017
转载 优化程序与设计——来源于《effective C++》
目录一、让自己习惯C++条款1:视C++为一个语言联邦条款2:尽量以const、enum、inline替换#define条款3:尽可能使用const条款4:确定对象被使用前已先被初始化二、构造、析构、赋值运算 条款5:C++会默认生成构造函数、拷贝构造函数、拷贝操作符、析构函数条款6:为多态类声明virtual析构函数条款7:绝不在构造和析构函数过...
2019-07-21 15:14:17 453
原创 Linux错误之一:无法更新命令
在Ubuntu中,若要更新命令,需要用到apt-getinstall update命令。但有时会出现使用失败情况,如图一所示。图一 出现该情况的原因是:原本要从网站mirror.sohu.com/ubuntu下载最新命令,但由于某种原因(网速太慢或网站无法下载)不能更新命令,那么在确保自己网络没有问题的情况下,可以更新下载的网址。操作步骤如下: ...
2019-05-23 21:59:41 2441
原创 HTTP学习笔记
目录一、了解web和网络基础1.HTTP历史2.TCP/IP管理二、HTTP请求报文首部1.请求行2.请求首部字段3.通用首部字段(请求和响应报文都可使用)4.实体字段(请求和响应报文都可使用)5.实例三、HTTP响应报文首部字段1.响应行2.响应首部字段3.通用字段和实体字段4.实例一、了解web和网络基础1.HTTP历史 ...
2019-05-19 16:28:54 205
原创 TCP/IP在Linux下编程实现
目录一、网络编程基础1.1 套接字1.2 服务器端套接字1.3 客户端套接字1.4 基于Windows平台的网络初始化和注销(Linux平台无需该操作)二、套接字类型与协议设置2.1 套接字函数socket(以Linux系统为例)2.2 协议簇2.3 数据传输类型2.4 协议类型三、地址簇与数据序列3.1 端口号复用问题 3...
2019-05-14 20:49:19 6245 2
原创 Linux学习笔记五 —— 正则表达式
1.为何正则表达式 正则表达式是通过一些特殊字符来达到【查找、删除、替换】一行或多行字符串的目的。2.正则表达式用途 用于处理大量字符串信息的地方。比如邮件服务器3.语系对正则表达式的影响 zh_CN.big5和C语系中,英文大小写编码顺序为: LANG = C:0 1 2 3 ... A B C D ......
2019-05-08 21:06:53 328
原创 《UNIX高级编程环境》学习笔记五 —— 文件和目录
1.函数stat stat + 文件名 查看文件详细信息。2.函数link #include <unistd.h> int link(const char *oldpath, char *newpath); 创建一个硬连接。 函数成功返回0;函数失败返回-1...
2019-04-28 14:21:49 126
原创 《UNIX环境高级编程》学习笔记四 —— 进程环境、进程控制
一、main函数 C程序总是从main函数开始执行,main函数原型是: int main ( int argc, char *argv[] ); 其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。 ...
2019-04-09 20:11:32 167
转载 C++错误之二 : ISO C++ forbids declaration of 'XXXX' with no type
出现这个错误有两种情况一、当写成员函数忘记写返回值类型的时候也会报这个错二、由于两个CPP相互都相互包含了对方的头文件造成的,比如:当mainwindow.cpp、configdialog.cpp两个文件,分别包含了对方的头文件,并且分别又在自己的类中生命了对象,即:mainwindow.cpp#include "configdialog.h"class MainWindo...
2019-03-28 21:46:25 9964
转载 C++错误之一 :invalid initialization of non-const reference of type ‘xxx&’ from an rvalue of type ‘xxx’
1、看代码2、编译结果3、分析和解决就拿f(a + b)来说,a+b的值会存在一个临时变量中,当把这个临时变量传给f时,由于f的声明中,参数是int&,不是常量引用,因为c++编译器的一个关于语义的限制。如果一个参数是以非const引用传入,c++编译器就有理由认为程序员会在函数中修改这个值,并且这个被修改的引用在函数返回后要发挥作用。但如果你把一个临时变量...
2019-03-28 21:44:22 2583
原创 《UNIX环境高级编程》学习笔记三 —— 标准I/O库
1.缓冲函数 #include <stdio.h> int fflush(FILE *fp); 该函数使该流所有未写的数据都被传送至内核。 函数成功返回0;函数失败返回-1。2.打开流函数 #include <stdio.h> FILE *fop...
2019-03-28 11:05:40 270
原创 《UNIX环境高级编程》学习笔记二 —— 文件IO
本章描述的函数被称为不带缓冲的IO,这些不带缓冲的IO函数不是ISO C标准的组成部分。但是,它们是POSIX.1和Single UNIX Specification的组成部分。1.文件描述符 按照惯例,UNIX系统shell把文件描述符0与进程的标准输入关联;文件描述符1与标准输出关联;文件描述符2与标准错误关联。0,1,2通常替换成符号常量STDIN_F...
2019-03-20 20:51:26 166
原创 《UNIX环境高级编程》学习笔记一 —— UNIX基础知识
1.UNIX体系结构 内核(Kernel)控制计算机硬件资源,提供程序运行环境。 内核的接口被称为系统调用(System Calls)。 公用函数库(Library Routines)构建在系统调用接口之上,应用程序(Applications)即可使用公用函数库,也可使用系统调用。shell是一个特殊的应用程序,为运行其...
2019-02-22 16:26:10 231
原创 Linux学习笔记四 —— gdb调试
1.gdb调试 gdb xxx —— 进入gbd调试,前提是xxx是包含调试信息的(详情见Linux学习笔记三) gdb模式下: l —— 查看文件代码(默认查看包含main文件的代码) l xxx.c:n —— 查看xxx...
2019-02-20 20:36:30 202
原创 Linux学习笔记三 ——gcc编译、库
0.帮助文档 man man —— 查看帮助文档首页注:帮助文档具体章节 第一章 —— 可执行程序或shell命令(如ls、cd、date) 第二章 —— 系统调用(内核提供函数,如open) 第三掌 —— 库调用(程...
2019-02-18 22:19:27 255
原创 单片机程序移植中时钟频率的问题
之前在stm32F103上写的程序,想移植到stm32F429上,发现通过串口传输的数据波特率有问题,但检查过其他地方都没错。后来有大神告诉我,两个单片机的时钟频率可能不同,得修改。具体修改步骤如下所示1.首先要找到单片机对应的频率,从用户手册中查询HSE,我的单片机是8,如下图2.然后打开单片机文件中的syst...
2018-04-30 10:43:06 972
原创 keil5如何调试程序并查看数组值
1.首先打开一个程序,点击编译按钮。2.然后点击调试按钮,进入调试界面。3.在需要暂停调试的语句旁鼠标右键,添加断点。(注:只有在灰色区域才能添加断点,灰色区域表示有语句部分,其不包括空白行和括号)4.点击运行按钮,程序会运行到断点处(断点行的程序并没有运行)5.右下角有个观察框显示数据值,可以在表达式一栏敲入自己想查看的数...
2018-03-24 16:49:13 34871 2
转载 Qt各类型错误总结
问题1.QMetaObject::connectSlotsByName: No matching signal for ... 但实际功能并没有受影响原因:如果采用显式connect的方法的同时,又将槽函数的名字起成了“on_控件名_信号名”的格式,那么就会在运行时弹出“QMetaObject::connectSlotsByName: No matching s...
2018-03-24 14:06:02 2340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人