自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lawrence_121

千里之行,始于足下

  • 博客(51)
  • 资源 (3)
  • 收藏
  • 关注

转载 signal has no driver/load”的解决方法

今天在进行原理图绘制完成后,对其进行编译,发现出现好多相同的错误:“signal ... has no driver”,“signal ... has no load”,找了很久,没有发现什么错误。百度一番发现:原来,我开始只是新建了一个schematic文件,即单单是对一个sch文件进行编译,所以,出现了前述的error!解决方法:将schematic原理图添加到某工程,再编译就不会出现那...

2018-09-29 14:59:38 9573 1

转载 PCB各层含义

PCB层的定义:  阻焊层:solder mask,是指板子上要上绿油的部分;因为它是负片输出,所以实际上有solder mask的部分实际效果并不上绿油,而是镀锡,呈银白色!助焊层:paste mask,是机器贴片时要用的,是对应所有贴片元件的焊盘的,大小与toplayer/bottomlayer层一样,是用来开钢网漏锡用的。要点:两个层都是上锡焊接用的,并不是...

2018-09-28 11:44:14 1192 1

转载 学前班-怎么看原理图之协议类接口之SPI

SPI芯片引脚示例图及引脚描述:2440:SPI与2440引脚连接简化图:其中SPIMOST中的M表示master(主机),s表示slave,o表示output,gpio可以用于与spi芯片片选引脚相连。时钟由2440发送,访问前先输出低电平选中(片选)。数字电路就像堆积木一样,找到对应的线,将它接在一起就可以了。如果要通信的话,就需要去查看芯片手册内部的协议。同理也存在...

2018-09-27 08:13:05 278

转载 学前班-怎么看原理图之协议类接口之I2C

I2C的原理图如图所示:原理图可以简化成:2440的SCL外接到外部芯片的SCL,SDA外接到外部芯片的SDAI2CSCL:时钟线I2CSDA:数据线两条线上可以挂接多个设备,2440到底是要访问设备1,还是设备2?每一个I2C设备都有一个地址,当数据线的值等于自己的地址值,才做出回应。I2C的停止信号如图所示:传输数据?注意:设备要在SCL为高电平的时候采集数据。回...

2018-09-26 20:04:44 265

转载 学前班-怎么看原理图之协议类接口之UART

2,协议类2.1 URAT在我们平时对话中应该遵循的原则:双方能够听懂对方在说什么;不能说的太快,即语速要让别人接受;推广到通信当中, 协议类双方应该遵循的原则:双方协定信号的协议;双方满足时序要求;如上图所示,硬件的通信是通过连接双方的(串口)引脚信号线传输数据的,为什么两个串口可以传那么复杂的数据?这就要求双方必须遵循一定的协议。下面看一下具体的原理图:将上图简化后:...

2018-09-26 19:23:13 268

转载 面试:快速判断一个数是否是2的幂次方,若是,并判断出来是多少次方!

/**********************************************************************将2的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1,并且1后面跟了n个0;因此问题可以转化为判断1后面是否跟了n个0就可以了。如果将这个数减去1后会发现,仅有的那个1会变为0,而原来的那n个0会变为1;因此将原来的数与去...

2018-09-21 09:42:15 997

原创 类型转换引发的思考

题目:下面 程序的结果是多少?#include <iostream>using namespace std;int main(){ float a = 1.0f; cout << (int)a << endl; cout << &a << endl; cout << (int&)a &a

2018-09-20 17:58:23 153

转载 ICMP类型字段(Type)以及代码字段(Code)对应表

ICMP类型TYPE CODE Description Query Error 0 0 Echo Reply——回显应答(Ping应答) x   3 0 Network Unreachable——网络不可达   x 3 1 Host Unreachable——主机不可达   x 3...

2018-09-20 15:00:19 13884 1

转载 IP协议(Protocol)字段描述

数值 值描述 0 保留字段,用于IPv6(跳跃点到跳跃点选项) 1 Internet控制消息 (ICMP) 2 Internet组管理 (IGMP) 3 网关到网关 (GGP) 4 1P中的IP(封装)   5 流 6 传输控制 (TCP) 7 CBT 8 外部网关协议 (EGP) ...

2018-09-20 14:54:01 9825

转载 ping原理与ICMP协议

ping 的原理     ping 程序是用来探测主机到主机之间是否可通信,如果不能ping到某台主机,表明不能和这台主机建立连接。ping 使用的是ICMP协议,它发送icmp回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。    ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包...

2018-09-19 20:10:59 10275

原创 网络数据包内核探险记(二) —— linux内核网络分层结构

网络设备接口层:struct net_device              |            struct net_device_ops *netdev_ops;                                    |                    netdev_tx_t (*ndo_start_xmit) (struct sk_buff *skb...

2018-09-18 19:26:14 620

转载 学前班-怎么看原理图之GPIO与门电路

对硬件电路图分为三类:1,GPIO(general  peripheral input/output)与门电路(管脚类与门电路类)1.1 输入、输出引脚、上拉电阻、三极管  输出引脚示例图:  如上图2440的引脚输出0,则灯灭,否则要亮。输入引脚示意图: 如将2处的引脚接到2440的某个引脚去,则2处的引脚称为输入引脚,我们就可以读2440寄存器的某一位,读到...

2018-09-18 18:56:29 950

转载 关于一个文件中的全局变量在其他文件中的使用

错误:多重定义 和 xxx变量已经在xxx.obj中定义 当在一个.cpp文件中定义了一个全局变量之后,需要在其他文件中使用时,需要用到关键字extern当使用extern修饰一个变量时,例如extern int x;   代表当前变量x 的定义来自于其他文件,当进行编译时,会去其他文件里面找,在当前文件仅做声明,而不是重新定义一个新的变量main.cpp#include...

2018-09-16 22:33:53 15339 5

原创 网络数据包内核探险记(一) —— linux内核网络分层结构

以数据包的接受为例:        网卡--->网络设备驱动                                        netfilter----监管层                                         协议栈 (进行解包,等待,控制 检查)                      会话层 (sock) 面向会话 网络数据缓冲区 ...

2018-09-16 21:43:55 2045

转载 Qt界面开发(各种控件以及图表)

转自:https://blog.csdn.net/ZhangXiaoyu_sy/article/details/789252211.Qt简洁窗体源代码链接:点击打开链接2.QT漂亮界面 源代码链接:点击打开链接3.音乐播放器界面源代码链接:点击打开链接4.六宫格界面源代码链接:点击打开链接5.漂亮通用界面源代码链接:点击打开链接6...

2018-09-15 15:17:49 21366 6

原创 Qt网络通信实战(TCP)

服务器UI截图:       #ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QTcpServer>#include <QTcpSocket>#include <QDebug>#include <QList>namespace Ui { ...

2018-09-15 15:11:12 730

转载 自定义QSqlQueryModel实战

 connection.h#ifndef CONNECTION_H#define CONNECTION_H#include <QSqlDatabase>#include <QSqlQuery>static bool createConnection(){ QSqlDatabase db = QSqlDatabase::addDatabase("QS...

2018-09-15 11:37:26 1249

原创 Qt数据库模型

Qt中使用了自己的机制来避免使用SQL语句,为我们提供了更简单的数据库操作及数据显示模型,分别是只读的QSqlQueryModel 操作单表的QSqlTableModel 可以支持外键的QSqlRelationalTableModelQSqlTableModel案例QSqlTableModel项目截图:           部分代码如下:void consumer::o...

2018-09-15 10:49:59 941

原创 QTableView/QSqlTableModel实战案例

操作流程:1、在ui中添加QTableView控件2、连接数据库3、创建模式,建立表格与数据库的关系      QSqlTableModel *model = new QSqlTableModel(ui->tableView,db);4、设置模块关联的表      model->setTable(tablename);5、执行查询     model->sele...

2018-09-15 10:09:02 842

转载 linux下mysql数据库导入导出命令

首先linux 下查看mysql相关目录root@ubuntu14:~# whereis mysqlmysql: /usr/bin/mysql----   mysql的运行路径 /etc/mysql /usr/lib/mysql-----   mysql的安装路径/usr/bin/X11/mysql /usr/share/mysql/usr/share/man/man1/mysq...

2018-09-15 00:10:15 141

原创 QT基本控件下

1. 编辑框 QLineEdit //创建一个对象 (pUserLineEdit) //设置它的位置和大小 //在输之前提示 类似qq登录界面 pUserLineEdit->setPlaceholderText(QStringLiteral("QQ号码/手机/邮箱")); //密码框 pUserLineEdit-...

2018-09-12 14:04:04 230

原创 QT实现计算器

功能分析:                1.实现计算器的+ - * / 基本运算及小数点运算                2.实现清空和关机                3.实现多个按钮公用一个槽函数#ifndef DIALOG_H#define DIALOG_H#include <QDialog>namespace Ui {class Dialog;...

2018-09-11 18:30:21 2594 3

转载 Qt 5 中解决中文乱码的方法

Qt 5 中解决中文乱码的方法在 Qt 4 的时代,解决中文乱码挺麻烦。要考虑用的是什么编译器,具体的可以参考下面这篇文章:http://blog.csdn.net/brave_heart_lxl/article/details/7186631到了 Qt 5 的年代,这个问题变得简单了些。因为根据 Qt 的文档:http://doc.qt.io/qt-5.6/qstring.html#QS...

2018-09-11 15:13:36 216

转载 bash: qmake: command not found

Qt默认安装是在 /opt/qt-xxxx/qt/bin 或者 /opt/qt-xxx/bin 下,实在不行就查找 updatedb; locate qmake 或者 find / -name qmake.找到路径之后,在/etc/profile文件里添加下面几行语句:vim /etc/profileexport QTDIR=/opt/qtsdk-xxxx/qt 这个路径根据自己安装的位置...

2018-09-11 11:41:16 2099

原创 C++中assert的作用

assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运...

2018-09-10 15:18:41 227

原创 尽量使用内联函数,避免使用#define

C的宏定义可以带参数,很多短小的函数都用宏定义来实现。例如:#define DIV(x,y) ((x)/(y))C++中用inline函数来取代C语言中类似函数的宏定义。区别:            在调用一个内联函数时,编译器像处理普通函数一样首先做类型安全检查和自动类型转换,如果检查通过,内联函数的代码就会直接替换函数调用,就像宏展开一样。而C语言的宏定义在预处理时只会盲目地做宏展...

2018-09-10 11:24:22 507

原创 绝不能让构造函数为虚

构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象 的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。2 虚函数的执行依赖于虚函数表。而虚函数表在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数表。而在构造对象期...

2018-09-10 11:12:43 130

转载 linux下解压命令大全

.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.t...

2018-09-10 10:30:45 186

原创 SQLite详解

一. SQLite的优势:内存占用量小 比MySQL(2倍), PostgreSQL(20倍)快 ACID兼容(原子性,一致性),支持视图,子查询,触发器 可以将数据放进单个文件 为C/C++, Perl,PHP等应用提供了接口 免费 嵌入式数据库二. 使用手册      SQLite除库本身外,还包含命令行接口      命令行功能介绍             运行方式...

2018-09-09 10:44:46 1003

转载 c++的默认拷贝构造函数,从深度拷贝和浅拷贝说起

1. c++类的默认拷贝构造函数的弊端c++类的中有两个特殊的构造函数,(1)无参构造函数,(2)拷贝构造函数。它们的特殊之处在于:   (1)当类中没有定义任何构造函数时,编译器会默认提供一个无参构造函数且其函数体为空;   (2)当类中没有定义拷贝构造函数时,编译器会默认提供一个拷贝构造函数,进行成员变量之间的拷贝。(这个拷贝操作是浅拷贝)这里只讲拷贝构造函数。在c语言中:i...

2018-09-09 09:36:15 2856

原创 多态基类的析构函数应该为虚

引出问题:class Person{protected: char *id; char name[32]; int age; public: Person(const char *id,const char *name,int age); Person(); ~Person(); virtual void display(); }; ...

2018-09-08 22:48:04 240

转载 将模板的声明和定义放置在同一个头文件里

前言       常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。      在自己编写模板类时,我首先遇到的事实却是“传统”编程方法(在*.h文件声明,在*.cpp文件中定义)不能用于模板。于是我花费一些时间来...

2018-09-08 20:20:39 207

原创 MySql API详解

MySql服务配置:        MySql服务要运行起来,最好是开机自动启动。        方法:chkconfig -level 345 mysqld on不同版本的MySql有不同的目录设置:    头文件:         目录:/usr/include/mysql         使用:#include <mysql/mysql.h>        ...

2018-09-07 14:07:11 290

原创 mysql安装

安装包下载:链接:https://pan.baidu.com/s/19VNBjPDdq8zprN4kBqZMoQ 密码:1zzj#groupadd  mysql#useradd -g mysql mysql#tar xvfz mysql.x.x.x.tar.gz#cd mysql.x.x.x#./configure   --prefix=/usr/local/mysql#make...

2018-09-07 11:15:16 134

转载 关于c++ 的静态成员变量为什么一定要初始化

我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实际上是给静态成员变量分配内存。可以通过以下几个例子更形象的说明这个问题:#inc...

2018-09-06 20:35:28 2522

原创 mySQL基础

1、MySQL的登录n  进入到CMD模式下,输入以下命令:n  语法格式:mysql.exe  –h主机名  -u用户名-p密码n  参数说明:l  mysql.exe是mysql数据库的主应用程序,可以通过“环境变量”来加载它。l  -h是主机名。如:localhost或127.0.0.1l  -u是用户名。默认是root。l  -p是密码。默认密码是root。...

2018-09-06 20:16:39 286

转载 Test b() 还是Test b?

见下面一段代码,问语句1、2、3、4中,在编译时哪一句会报错?#include<iostream>using namespace std;struct Test{ Test(int){} Test(){} void fun(){ cout<<"fun"<<endl; }};int main(){ Test a(1); //...

2018-09-06 11:17:02 441

转载 拷贝构造函数的参数为什么必须使用引用类型

转自:https://www.cnblogs.com/this-543273659/archive/2011/09/18/2180575.html        在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭...

2018-09-05 19:25:09 315

转载 c++继承与组合的区别

转自:http://www.cnblogs.com/xiaozz/p/6448250.htmlC++程序开发中,设计孤立的类比较容易,设计相互关联的类却比较难,这其中会涉及到两个概念,一个是继承(Inheritance),一个是组合(Composition)。因为二者有一定的相似性,往往令程序员混淆不清。类的组合和继承一样,是软件重用的重要方式。组合和继承都是有效地利用已有类的资源。但二者的概...

2018-09-05 11:17:19 894

原创 c++经典面试题之String类的实现

//mystring.h#include<iostream>using namespace std;class String{ char *str; int len; enum{CINLIM=90}; //输入字符不能超过90public: String(const char *s); String(); String(...

2018-09-04 19:29:43 1104

Qt点餐管理系统

我们要求开发一个功能实用、操作方便,简单明了的点菜管理系统。该系统分为三部分,也就是三个终端。收银台为一个电脑终端,负责菜谱管理、顾客结账、销量管理、抽奖活动,顾客建议、会员管理;服务员手持设备终端,负责顾客点菜,与厨房大屏幕通信;厨房终端为一个大屏幕,实时显示各个桌号的菜名,厨师根据大屏幕进行做菜。本代码只包含服务端

2019-01-12

程序员面试宝典 第三版

程序员面试宝典,面试题超全,面试前,一定要看看,你会得到你想要的

2018-09-01

仿qq登录界面的QComboBox

仿qq登录界面的QComboBox,模拟的一个用户选择输入框,用户不仅可以输入帐号,而且可以选择想要登录的帐号,并且可进行帐号的删除。

2018-02-26

空空如也

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

TA关注的人

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