自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Peace

Frank

  • 博客(36)
  • 收藏
  • 关注

原创 linux系统下,在用户空间应用程序中模拟发送系统键盘事件

Linux 有自己的 input 子系统,可以统一管理鼠标和键盘事件。如果想模拟键盘事件,但是系统没有键盘设备该如何是好?基于输入子系统实现的 input 可以方便的在用户空间模拟鼠标和键盘事件。也可以自己做一个字符设备接收用户输入,根据输入,投递 input 事件。还有一种方式就是直接往evnent 里写入数据, 都可以达到控制鼠标键盘的功能。---没有键盘设备的话,向哪一个event里面写?好...

2018-06-30 13:11:00 1249 1

原创 socket网络编程 的基本方法:--ongoing

https://blog.csdn.net/shuxiaogd/article/details/50366039在学习网络编程时,我们总是从最简单的Server程序写起:socket -> bind -> listen -> accept -> read -> write -> return再接下来,就是学习如何处理客户端的并发请求。主要思路有:      使用...

2018-06-28 22:41:26 488

原创 Linux IO的五种模型 ongoing

1. 阻塞I/O模型当read或write一个文件时,如果read/write不能立即返回,那么调用者就会进入睡眠状态,执行到read/write就不动了,直到该文件变成可读/可写。这种模式就是阻塞模式。以TCP连接为例,用户空间read/write是与TCP缓冲区交互的,而不是直接同网卡驱动交互。当接收缓冲区内无数据时,read操作就无法立即返回,因此就会阻塞住调用进程,直到对方发送数据过来并由...

2018-06-28 22:38:38 190

原创 socket通信时如何判断当前连接是否断开--select函数,心跳线程,QsocketNotifier监控socket

 client与server建立socket连接之后,如果突然关闭server,此时,如果不在客户端close(socket_fd),会有不好的影响:   QsocketNotifier监控socket的槽函数不断地被执行!!这是为什么呢!服务器既然已经关了,为什么socketNotifier认为还会有数据出现?  原因不知道,需要继续探索!但是,避免上述情况的方法是在...

2018-06-27 23:04:13 3426

原创 博客备份方法收集

有没有写了好多好多博客,在某天早晨发现博客被封了,啊,还是平时多备份一下比较好!方法1:租用一个VPS,自建博客网站,最彻底!方法2:有网友推荐一个叫做网文快捕的软件,我没有用过,可能好用吧,有空可以实验一下:http://www.wizissoft.com/cn/http://www.crsky.com/soft/1017.html方法3:博客搬家好像有很多人搬到了博客园,https://mp....

2018-06-26 22:35:15 2869 1

原创 外语学习方法

语言输入和语言输出是两个不同的通道!仅仅练习阅读和听力,你的口语不会又提高的,反之亦然! 例如,有的人可以阅读高深的学术论文,但是口语很差! ----  深有体会!你 可能 现在 就 处于「 听 VOA 慢速 觉得 太 简单 但 听 VOA 常 速 又 听不懂」 这个 节点 上。 我把 它 叫作 中级 向 高级的 提升 瓶颈 期( 有点 类似于 经济学 上 的「 中等 收入 陷阱」, 跨过 了 就...

2018-06-24 22:46:41 151

原创 linux的IO复用,select机制理解--ongoing

一:首先需要搞清楚IO复用、阻塞的概念:Ref:  https://blog.csdn.net/u010366748/article/details/50944516二:select机制作为IO复用的实现方式,select是提高了抽象和batch处理的级别,不是传统方式那样阻塞在真正IO读写的系统调用上,而是阻塞在select系统调用上,等待我们关注的描述符就绪。当然现在更好的方式是epoll,比...

2018-06-24 22:21:50 736

原创 lamp和xampp和lampp的区别

lamp:我们最常说的lamp,是一种系统环境,由Linux+Apache+Mysql+PHP构成,常用来运行web服务器。要在系统上完成这个环境的安装,可以很复杂的一步一步编译和设置,也可以用已经集成好的软件,脚本等实现快速安装。 XAMPP:软件名,Apache + MySQL + PHP + Perl环境的一键安装程序。支持linux,windows和mac os x三种操作系统。通过xam...

2018-06-21 21:44:05 9791

原创 C++ 编译错误 jump to case label [-fpermissive]

今天再用C++写代码时,出现了编译错误 jump to case label [-fpermissive]原因:使用switch语句时,再case中定义了变量,编译器不愿意!ref: https://blog.csdn.net/xianxjm/article/details/73457388...

2018-06-20 22:29:28 1317

原创 TCP调试助手,十六进制发送或者字符串形式发送的理解

“无论创作还是欣赏,都是对法则和规律的逃逸,自由是艺术的源泉”-- 黑格尔TCP调试助手中,在发送时可以选择十六进制发送或者字符串形式发送!其实,两者最终调用的都是系统的socket send函数,例如linux下的send(int sockfd, const void *buff, size_t nbytes, int flags);发送时,你向buff指示的地址里写了什么,就发什么,该函数如实...

2018-06-20 22:27:28 13644

原创 linux grep命令

grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具.1) 在多个文件中查找一个字符串:    grep "match_pattern" file_1 file_2 file_3 ...  //字符串是否加上双引号没有关系2)grep EXIT_  *.h    ...

2018-06-17 16:15:08 134

原创 wordPress设计网页实践

我希望能设计出世界上最美的画面!           首先进入你自己建立的网站,如上图所示。注意,要可以上外网,否则wordPress的插件会下载出错!点击左上角按钮(不知为什么在firefox浏览器中最上面一栏没有显示),在下拉列表中选择Dashboard( ...

2018-06-16 19:17:59 5411

原创 Beginning Linux Programming 学习-chapter2-Shell programming-Pipes and Redirection

“为了从事创造性工作,人类需要孤独,可是在孤独中,广义的人类仍存在于内心。”——(德国)奥铿                                                uninx, linux的初衷是不使用图形界面,而是使用commnd line,随着不断发展,command line不断壮大,shell对lilnux来说是一个非常重要的部分,对于自动完成一些任务是非常方便的!...

2018-06-16 16:40:53 203

原创 Vmware中安装的Ubuntu不能全屏问题解决

现在有了开源的vmtoll可以下载:open-vm-tools    先安装open-vm-tools:sudo  apt-get install open-vm-tools   然后安装:(不知道具体在干什么)sudo apt-get install open-vm*   最后reboot一下子。...

2018-06-16 10:12:08 1377

原创 滑动窗口协议(Sliding Window Protocol)

滑动窗口协议(Sliding Window Protocol),属于TCP协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输,提高网络吞吐量。...

2018-06-14 23:39:55 1848

原创 The Select mechanism in linux for block mechanism

 Today, some one mention theknowledge of Select Mechanism. It's better to konw something about it !Ongoing........

2018-06-14 23:37:55 108

原创 解决Ubuntu14.04不能打正确拼音--无法选择第二个拼音

这时候 我们回到桌面 按“ctrl”+“Alt”+“T”,打开系统终端,在终端里面输入ibus-daemon -drx并回车Ref:https://jingyan.baidu.com/album/a3a3f8118c5d488da2eb8aa1.html?picindex=1...

2018-06-14 18:22:26 2615

原创 linux编程 新建一个进程的方法

学习到一种,直接调用系统函数,在类的构造函数中直接启动一个线程,例如,某个类是用来监听串口的,可以直接在其构造函数中调用系统函数,开辟一个进程,在该进程对应的函数中不断while(1){....}...

2018-06-13 19:38:50 379

原创 Linux如何查看进程、kill进程、启动进程

查看firefox的进程ID:ps -ef | grep firefox或者top | grep firefox 使用kill指令来终止进程:kill -s 9 进程ID     // -s 9表示发送给进程的信号是9(SIGKILL); 根据进程的名字来终止进程:pgrep firefox | xargs kill -s 9  // pgrep的p表明了这个命...

2018-06-13 19:35:10 23382

原创 TCP-UDP网络编程调试助手下载

下载地址:可能需要谷歌:软件干净,挺好用的,如果有更好的,欢迎留言!https://www.waveshare.com/wiki/File:TCP-UDP-Debug.7z

2018-06-13 19:17:59 8455

原创 linux的fcntl函数

fcntl可实现对指定文件描述符的各种操作,例如获取/设置 文件的是否可以被读写的状态,等其他状态。int fcntl (int __fd, int __cmd, ...);The remaining arguments ... are interpreted depending on CMD.fcntl的返回值与命令有关, 如果出错,所有命令都返回-1,如果成功则返回某个其他值。Ref:http...

2018-06-13 16:10:22 284

原创 Beginning Linux Programming 学习--chapter 1 Getting start--What's linux,GNU,HeaderFiles, Libraries

Linux truly become a viable operating system, especially in the server market.In the past, compatibility among different UNIX system has been a real problem. These days, by following a few simple rule...

2018-06-13 14:34:48 366

原创 QT 头文件之间相互包含会报错:类名不存在

"希望是一个美好的东西! 希望, 这能自己给自己,否则只有无尽的痛苦和迷茫!"---Frank假设你写了两个类A和B,如果在A.h中有 #include<B.h>;   同时,在B.h中有#include<A.h>,则会报错!即使你在头文件中使用了#ifndef xxx#define xxx.......#endif...

2018-06-12 14:07:27 2288 1

原创 Beginning Linux Programming 学习--chapter 11 Processes and Signals

 What's process--什么是进程?The UNIX standards, specifically IEEE Std 1003.1, 2004 Edition, defines a process as “an address space with one or more threads (线程) executing within that address space, and the...

2018-06-11 21:45:46 188

原创 English Learning -- 0611--When Burnout Is a Sign You Should Leave Your Job

I like the following article from Harvard Business Review, as I ever experienced burnout at work. Very good.When Burnout Is a Sign You Should Leave Your Job--Hamish Blair/Getty ImagesYou have th...

2018-06-11 21:34:17 295

原创 Beginning Linux Programming 学习--chapter 17 Programming KDE using QT

KDE:KDE,K桌面环境(K Desktop Environment)的缩写。一种著名的运行于 Linux、Unix 以及FreeBSD 等操作系统上的自由图形桌面环境,整个系统采用的都是 TrollTech 公司所开发的Qt程序库(现在属于Digia公司)。KDE Linux 操作系统上最流行的桌面环境之一。K桌面项目始建于1996年, K桌面项目是由图形排版工具Lyx的开发者, 名为Matt...

2018-06-10 15:38:20 209

原创 linux input子系统详解

首先,什么是linux的子系统:输入子系统由驱动层、输入子系统核心、事件处理层三部分组成。一个输入事件,如鼠标移动、键盘按下等通过Driver->Inputcore->Event handler->userspace的顺序到达用户控件的应用程序。驱动层:将底层的硬件输入转化为统一事件形式,向输入核心(Input Core)汇报。Input Core:承上启下, 为驱动层 提供输入...

2018-06-10 00:46:18 13798

原创 gcc与g++的区别

Windows中常用vs来编译编写好的C和C++代码;vs把编辑器,编译器和调试器等工具都集成在这一款工具中。在Linux下常用的编译工具:gcc和g++。gcc和g++的用法,语法都是一样的! 对于C文件gcc和g++所做的事情是一样的,g++在编译C文件时调用了gcc!!!!  g++在内部做了处理,默认编译C++程序,但如果遇到C程序,它会直接调用gcc去编译。 cpp和c文件...

2018-06-07 17:06:25 150

原创 在Ubuntu下安装qt

安装qt前的准备:安装基础开发包,主要gcc,g++等:sudoapt-get installbuild-essential1. 使用qt-opensource-linux-x86-5.5.1.run来安装:https://blog.csdn.net/hansion3333/article/details/60468590其他: 曾经 在一个小机器上运行(...

2018-06-07 15:07:38 1877

原创 linu SSH 不在同一网段的两台机器如何通过ssh通信,SSH限制特定网段登陆的方法

1. linu SSH 不在同一网段的两台机器如何通过ssh通信https://blog.csdn.net/lhf19891003/article/details/39895763https://zhidao.baidu.com/question/421120155.htmlhttp://blog.sina.com.cn/s/blog_71c87c170101gvdr.html方法1):opens...

2018-06-06 15:41:04 7368

原创 Linux chomd命令

在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。只能文件属主或特权用户才能使用该功能来改变文件存取模式。chmod [options] mode files语法chmod [-cfvR] [--help] [--version] mode file...参数说明mode : 权限设...

2018-06-06 09:30:30 638

原创 Qt 编译出错“undefined reference to `vtable for”

1. 有时,如果将某个类改为继承自QObject类(以前不继承自该类),编译时会出错。解决: clean Project, run qmake, rebulid都运行一遍,好了!深层原因:等你评论!...

2018-06-06 08:46:49 273

原创 qt qml 类型之Keys

Keys 类是 Qt Quick 提供的,专门供 Item 处理按键事件的类。它定义了很多针对特定按键的信号,比如 onReturnPressed / onEscapePressed / onDownPressed / onDigit0Pressed / onBackPressed 等等;它还定义了更为普通的 onPressed 和 onReleased 信号,一般地,你可以使用这两个信号来处理大...

2018-06-04 20:00:04 491

原创 Vmware问题: 开机提示“虚拟机已被打开,是否获得所有权?”& Vmware检测不到USB

“一只美丽的小鸟,在绿色的草坪上蹦来跳去,很是可爱”----清风徐来问题1: Vmware开机提示“虚拟机已被打开,是否获得所有权?”解决: 关闭虚拟机,用任务管理器检查vmwarevmx.exe进程是没有关掉,如果没有,杀死它。 然后, 找到虚拟机文件存放的目录,删除里面的所有的.lck文件。再重新开启vmware。找到USB设备并连接的操作:点击,-----可移动设备----找到你的USB名字...

2018-06-04 10:26:53 970

原创 QT 源码分析--1

安装qt之后(我使用的是online自动安装),安装目录下有\5.10.1\Src\qtbase\src目录, 这里的所有文件夹名都对应着 Qt 的模块的名字 :gui,network等。我们从最核心的 QtCore 开始,这个模块对应的是corelib文件夹。之所以选择 QObject,一是因为它是 Qt 的核心类,另外一个很重要的原因是,QObject类是一个典型的Qt类,我们可以通过这个类学...

2018-06-03 23:04:54 7145

原创 qt model--view-delegate模式的界面设计概念,ListView用法

最经典的界面设计模式,必须知道。作为 一种经典到 不能 再 经典 的 架构 模式, qt的model--view-delegate大 行其 道 有其 必然 的 道理。 通过 把 职责、 性质相近的 成分 归结 在一起,不相 近的 进行 隔离,  将 系统 分解 为 模型、 视图、代理三 部分, 每一 部分都 相对 独立, 职责单一, 在 实现 过程中 可以 专注 于 自身 的 核心 逻辑。 最开始...

2018-06-01 10:31:46 1753

空空如也

空空如也

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

TA关注的人

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