自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

转载 qt学习(九)Designer

Designer1.新建->Application->Qt Widgets Application可以在ui里边编辑控件,通过转到槽设计槽函数2.多国语言-翻译家打开QT 预言家->新建短语书->发布在qt编程中translate3.command line(分析器)获取参数的值,以便后边用#include <...

2018-01-03 22:15:00 153

转载 qt学习(八)动态库和静态库的实现和调用

动态库和静态库的实现和调用1.新建->library->c++库,共享库,编写库的名称#ifndef T14LIBRARY_H#define T14LIBRARY_H#include "t14library_global.h"class T14LIBRARYSHARED_EXPORT T14Library{public: ...

2018-01-03 15:45:00 149

转载 qt学习(七)Sockt-TCP-UDP-BOARDCAST-MULI-CAST

Sockt-TCP-UDP-BOARDCAST-MULI-CAST1.TCP选择要接听的网口和ip#ifndef CHOOSEINTERFACE_H#define CHOOSEINTERFACE_H#include <QDialog>#include <QComboBox>class ChooseInterface : p...

2018-01-03 09:50:00 213

转载 qt学习(六) QFile-QBuffer-QXXXXStream-Mapping

QFile-QBuffer-QXXXXStream-Mapping#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>class MyWidget : public QWidget{ Q_OBJECTpublic: explicit MyWidget(QWidget...

2018-01-02 22:53:00 153

转载 qt学习(六)窗口

1.Dialog#ifndef MYDIALOG_H#define MYDIALOG_H#include <QDialog>class MyDialog : public QDialog{ Q_OBJECTpublic: explicit MyDialog(QWidget *parent = 0); QSt...

2018-01-02 21:43:00 108

转载 Qt学习(五)QPainter高级

QPainter高级以及定时器.h#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>#include <QGraphicsScene>#include <QGraphicsLineItem>#include <QGraphicsPixmapItem&g...

2018-01-02 17:01:00 153

转载 qt 学习(四) 信号和槽

信号和槽1.信号的定义必须在signals,保留字下,并且不需要实现2.槽的定义必须在slots保留字下,需要实现3.信号和槽通过QObject::connect函数连接4.当信号被触发时,槽函数被调用注意:1.信号和槽,是QT的拓展,所以实现信号和槽的类,必须是QObject的子类2.实现信号和槽的类,必须以宏Q_OBJECT开始3.连接信号和槽,要用到...

2018-01-02 11:50:00 59

转载 qt 学习(三)QPainter

QPainter和自定义控件1.基础#include "mywidget.h"#include<QPixmap>MyWidget::MyWidget(QWidget *parent) : QWidget(parent){}void MyWidget::paintEvent(QPaintEvent *)//初始化和update()以及系统...

2018-01-02 11:05:00 149

转载 qt 学习(三)消息基础

消息基础一、各种消息机制1.头文件#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>#include<QPushButton>#include<QLineEdit>class MyWidget : public QWidget{ Q_OBJE...

2017-12-29 14:02:00 76

转载 qt学习(二)控件

控件1.添加一个类MyWidget.h,会有出现MainWindow.h和MainWindow.cpp#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>#include <QTextEdit>class MyWidget : public QWidget{ Q_...

2017-12-28 22:07:00 58

转载 Qt学习(一)

QT学习(一)基础一、hello world和QPushbutton1.创建一个空的QT2.增加一个空的源文件main3.在.pro文件中加入QT +=widgets ...

2017-12-28 17:13:00 87

转载 再议socket

再议socket线程池socket通道在内核中实际上只有一条,多个文件描述符指向同一个socket通道本地套接字(类似于管道,两个进程的通信)绑定是和磁盘文件绑定。#include <stdlib.h>#include <stdio.h>#include <stddef.h>#include &lt...

2017-12-26 17:07:00 60

转载 指令(二)

指令(二)vim补齐功能:变量设定方法正则表达式转载于:https://www.cnblogs.com/rainbow1122/p/...

2017-11-29 21:55:00 60

转载 指令(3)

指令(二)vim补齐功能:变量设定方法正则表达式转载于:https://www.cnblogs.com/rainbow1122/p/...

2017-11-29 21:55:00 62

转载 指令

指令whatis [指令或者是数据] <=相当于man -f[指令或者是数据]apropos [指令或者是数据] <=相当于man -k[指令或者是数据]在关机之前记得sync;rwx对于文件和目录的异同:Linux目录配置的依据--FHS事实上,FHS针对目录树架构仅定义出三层目录底下应该放什么数据而已,...

2017-11-27 22:51:00 59

转载 linux学习之多高并发服务器篇(三)

UDP多播服务器多播  组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的ip地址,组中的成员构成可以发 生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),...

2017-11-24 21:02:00 69

转载 linux学习之高并发服务器篇(二)

高并发服务器1.线程池并发服务器两种模型:预先创建阻塞于accept多线程,使用互斥锁上锁保护accept(减少了每次创建线程的开销)预先创建多线程,由主线程调用accept线程池3.多路I/O转接服务器三种模型性能分析select模型  select用来阻塞监听4,5,6,7是否有数据传入,若7这个文件描述符有数据到达,se...

2017-11-22 22:08:00 79

转载 linux学习之多高并发服务器篇(一)

高并发服务器高并发服务器并发服务器开发1.多进程并发服务器  使用多进程并发服务器时要考虑以下几点:父最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符)系统内创建进程个数(内存大小相关)进程创建过多是否降低整体服务性能(进程调度)server/* server.c */#include <...

2017-11-21 22:29:00 86

转载 Linux学习之socket编程(二)

Linux学习之socket编程(二)1.C/S模型——UDPUDP处理模型  由于UDP不需要维护连接,程序逻辑简单了很多,但是UDP协议是不可靠的,实际上有很多保证通讯可靠性的机制需要在应用层实现。多保证通讯可靠性的机制需要在应用层实现。编译运行server,在两个终端里各开一个client与server交互,看看server是否具有并发服务的能力。用Ctrl+C关闭...

2017-11-21 21:25:00 89

转载 Linux学习之socket编程(一)

socket编程socket的概念:    在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。  在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连接的一对一关系。  T...

2017-11-17 21:44:00 130

转载 网络基础

网络基础一、模型1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以...

2017-11-17 15:54:00 185

转载 linux学习之线程篇(二)

线程(二)1.线程终止方式如果需要只终止某个线程而不终止整个进程,可以有三种方法:从线程主函数return。这种方法对主控线程不适用,从main函数return相当于调用exit。一个线程可以调用pthread_cancel终止同一进程中的另一个线程。线程可以调用pthread_exit终止自己。(同样适用于主控线程)  note:同一进程的线程间,pth...

2017-11-15 22:59:00 73

转载 linux学习之线程篇(一)

线程1.线程的概念线程和进程的关系轻量级进程(light-weight process),也有PCB,创建线程使用的底层函数和进程一样,都是clone。从内核里看进程和线程是一样的,都有各自不同的PCB,但是PCB中指向内存资源的三级页表(下图)是相同的进程可以蜕变成线程。(若进程只有一个线程,主控线程,线程和进程是一样的,若再创建几个线程,此时之前那个主控线程就...

2017-11-15 16:46:00 73

转载 linux学习之进程篇(四)

进程(四)1.终端  在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal),在讲进程时讲过,控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况下(没有重定向),每个进程的标准输入、标准输出和标准错误输出...

2017-11-14 22:15:00 105

转载 linux学习之信号篇(二)

信号(二)1.信号捕捉设定#include <signal.h>int sigaction(int signum, const struct sigaction *act,struct sigaction *oldact);struct sigaction 定义:struct sigaction { void (*sa_handler)...

2017-11-14 21:55:00 87

转载 linux学习之信号篇(一)

信号1.信号的概念信号编号kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR111) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM...

2017-11-13 22:16:00 78

转载 myshell案例

shell用讲过的各种C函数实现一个简单的交互式Shell,要求:1、给出提示符,让用户输入一行命令,识别程序名和参数并调用适当的exec函数执行程序,待执行完成后再次给出提出符2、识别和处理以下符号:  简单的标准输入输出重定向:仿照例 “wrapper”,先dup2然后exec。管道(|):Shell进程先调用pipe创建一对管道描述符,然后fork出两个子进程,一个子进程关闭读...

2017-11-13 17:41:00 92

转载 linux学习之gdb调试工具篇

gdb1.gdb介绍本章介绍一种很强大的调试工具gdb,可以完全操控程序的运行,使得程序就像你手里的玩具一样,叫它走就走,叫它停就停,并且随时可以查看程序中所有的内部状态,比如各变量的值、传给函数的参数、当前执行的代码行等。有了gdb以后,即使调试手段丰富了,调试的基本思想仍然是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环,根据现象如何假设错...

2017-11-13 15:11:00 86

转载 linux学习之Makefile篇

Makfile1.用途项目代码编译管理节省编译项目时间(在编译的时候之编译修改过的.c文件,并和之前编译好的.o链接使用)一次编写终身受益  #目标:依赖(条件)#命令#阶段一#app:add.c sub.c dive.c mul.c main.c#gcc add .c sub.c dive.c mu.c ma...

2017-11-13 14:59:00 61

转载 linux学习之进程篇(三)

进程之间的通信  每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进行之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程之间通信(IPC)进程间通信1.pipe管道可以用环形队列实现。队列满的话会阻塞。管道是一种最基本的IPC机制,由...

2017-11-10 22:32:00 80

转载 linux学习之进程篇(二)

进程原语1.fork#include<unistd.h> pid_t fork(void); fork  子进程复制父进程,子进程和父进程的PID是不一样的,在克隆pcb时,pid没有复制,fork还有底层的函数,如creat(),clone(),retrun 返回。子进程执行的第一条语句是return。#include<st...

2017-11-09 22:55:00 86

转载 linux学习之进程篇(一)

进程1.PCB  每个进程在内核中都有一个进程控制块(PCB)来维护进程相关的信息,Linux内的进程控制块是task_struct结构体。现在我们全面了解一下其中都有哪些信息。进程标示符(PID):描述本进程的唯一标示符,用来区别其他进程。父进程id(PPID)进程的状态,有运行、挂起、停止、僵尸等状态。进程切换时需要保存和恢复的一些CPU寄存器。描述虚拟地...

2017-11-09 20:26:00 64

转载 Linux学习之文件系统篇(三)

基于inode函数介绍1.stat表头文件: #include <sys/stat.h> #include <unistd.h>定义函数: int stat(const char *file_name, struct stat *buf);int fstat(int fd,struct stat *buf...

2017-11-09 15:53:00 65

转载 inux学习之文件系统篇(二)

文件系统(二)1.目录操作mkdir#include<sys/stat.h>#include<sys/types.h>int mkdir(const char *pathname,mode_t mode);创建一个目录rmdir#include<unistd.h>int rmdir(const char *p...

2017-11-09 14:35:00 68

转载 linux学习之文件系统篇(一)

文件系统1.ext2文件系统注意:文件名并没有存储在inode中,目录的大小为4096,用ls显示的是蓝色的,目录、记录项。组里边有多少块,取决于块的大小。磁盘分区完毕后还需要进行格式化(format),之后操作系统才能够使用这个分割槽。 为什么需要进行『格式化』呢?这是因为每种操作系统所配置的文件属性/权限并不相同, 为了存放这些文件所需的数据,因此就需要将分割槽进行...

2017-11-08 22:01:00 95

转载 文件I/O(二)

(6)lseeklseek和标准I/O库的fseek函数类似,可以移动当前读写位置(或者叫偏移量) #include <sys/types.h> #include <unistd.h> off_t lseek(int fd, off_t offset, int whence);参数:fd 表示要操作的文件描述符offset是相...

2017-11-08 15:37:00 41

转载 linux学习之文件I/O篇(一)

文件I/O1.C标准函数与系统函数的区别1.c标准函数和系统函数的区别  接下来用应用层API的知识。每当打开一个文件,默认打开标准输入,标准输出,标准出错流三个流,每个FILE都对应一个缓冲区,默认大小为8192Byte。2.PCB概念(进程控制块)(1)task_struck结构体  可以自己动手查看 vi /usr/src/linux-heade...

2017-11-06 22:53:00 110

转载 静态库和共享库

静态库和共享库共享库相当于c++中的dll。静态库是在可执行程序运行前就已经加入到执行代码中,成为执行程序的一部分,按照习惯一般以.a作为文件后缀名,使用ar命令可以创建静态库,静态库在应用程序生成时,可以不必载编译,节省再编译时间;共享库,是在执行程序启动时加载到执行程序中,可以被多个执行程序共享使用。本节所讲的执行程序和库都采用ELF格式。一、静态库要创建一个静态库,...

2017-11-06 16:16:00 83

转载 vim-ide

用vim打造适合自己的编辑器一、vimrc是vim的配置文件,可以修改两个位置1.etc/vim/vimrc //一般配置文件都带有rc的后缀2.~/.vimrc //在用户目录下存在的,/home/用户名~/.vimrc优先级高进入etc/vim/vimrcvimrc配置 http://www.cnblogs.com/wa...

2017-11-06 11:41:00 115

空空如也

空空如也

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

TA关注的人

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