C/C++
文章平均质量分 80
chenlong12580
这个作者很懒,什么都没留下…
展开
-
strlen 源码解析
strlen源码剖析学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效。恰好手中就有glibc和VC的CRT源代码,于是挑了一个相对简单的函数strlen研究了一下,并对各种实现作了简单的效率测试。strlen的函数原形如下: size_t strlen(const char *st转载 2012-04-24 14:16:28 · 5024 阅读 · 0 评论 -
Qt中调用PolarSSL库(一)
最近一直在学习SSL相关的知识,也是先了解理论相关的知识,主要是SSL相关的基本概念和连接建立过程,主要是基于PolarSSL开源库进行学习。学习完了之后就希望能给有所运用,就想用Qt写一个简单的程序,增加对SSL相关概念的把握和对PolarSSL库的运用。当然,最终希望是可以使用Qt做一个比较完善的工具,帮助大家更好的理解和学习SSL相关知识。这都是后话,在第一篇里面,我们就简单用例子展示如何在原创 2014-06-13 22:44:41 · 5288 阅读 · 0 评论 -
Qt中事件分发源代码剖析
Qt中事件分发源代码剖析Qt中事件传递顺序:在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的。下面举例说明:1)首先看看下面一段示例代码:int main(int argc, char *argv[]){ QApplication a(argc, argv); MouseEvent w; w.sho原创 2014-05-04 23:48:35 · 7864 阅读 · 2 评论 -
Qt应用程序中设置字体
应用程序中经常需要设置字体,例如office软件或者是其他的编辑器软件等等。这里主要涉及到如下几个概念:字体,字号以及风格(例如:粗体,斜体,下划线等等)。Qt里面也有对应的类。接下来我们主要对这几个类进行详细的说明,最后举例说明它们的应用。1、Qt中相关的类:QFontDatabase、QFont、QFontInfo和QFontMetrics、QFontMetricsF;(1)QFont原创 2014-05-04 00:53:24 · 40013 阅读 · 1 评论 -
Qt中实现启动画面
纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面,例如office软件等等。 在Qt中实现启动界面,主要就是使用QSplashScreen类。该类比较简单,这里就不对类本身做过多说明了,主要是以一个例子来说明他的使用方法。1、首先,我们的实现如下:#include #原创 2014-04-14 23:42:00 · 29348 阅读 · 4 评论 -
Qt中的串口编程之三
QtSerialPort今天我们来介绍一下QtSerialPort模块的源代码,学习一下该可移植的串口编程库是怎么实现的。首先,我们下载好了源代码之后,使用QtCreator打开整个工程,可以看到如下图的源代码结构:我们先来看一下serialport-lib.pri这个文件,serialport.pro工程文件就是靠这个文件来控制整个源代码的编译的。,具体内容如下:原创 2013-07-14 22:40:51 · 12300 阅读 · 1 评论 -
QDockWidget详解
QDockWidget类详解【详细描述】QDockWidget类提供了一个特殊的窗口部件,它可以是被锁在QMainWindow窗口内部或者是作为顶级窗口悬浮在桌面上。QDockWidget类提供了dock widget的概念,dock widget也就是我们熟悉的工具面板或者是工具窗口。Dock window是放置在QMindow窗口周围的dock widget区域中的。如原创 2013-06-11 00:36:32 · 71039 阅读 · 2 评论 -
Qt中的串口编程之二
Qt Serial Port【概述】 Qt Serial Port提供了基本的功能,包括配置,I/O操作,获取和设置RS-232引脚的信号。本模块暂不支持如下特性:*终端的特性,例如回显,控制CR/LF等等*文本模式*配置读操作的超时和延时*当RS-232引脚信号改变的时候跟踪和通知要在自己的应用程序中使用这些类,那么就必须包括如下的声明:#include 要链接本原创 2013-06-01 11:13:43 · 49377 阅读 · 10 评论 -
Qt中的串口编程之一
QtSerialPort简介 QtSerialPort模块是Qt5库的附加部分,为硬件和虚拟的串口提供了统一的接口。注意:该模块也增加了对Qt4的支持。 串口由于其简单和可靠,目前在像嵌入式系统,机器人等工业中依旧用得很多。使用QtSerialPort模块,开发者可以大大缩短开发串口相关的应用程序的周期。使用QtSerialPort模块最初是来源于第三方库原创 2013-05-26 14:39:12 · 49061 阅读 · 4 评论 -
QAction系列详解
QAction系列详解一、QAction类详解【详细描述】 QAction类提供了抽象的用户界面action,这些action可以被放置在窗口部件中。 应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命令。由于用户期望每个命令都能以相同的方式执行,而不管命令所使用的用户界面,这个时候使用action来表示这些命令就显得十分有用。原创 2013-05-05 22:06:05 · 50101 阅读 · 2 评论 -
Qt UI Interfaces
Qt中的用户界面 Qt可以使用多种技术来创建用户界面。我们也可以根据需要混合使用不同的技术,在一些特定的场景下一些技术就会比其他的技术更适合,所有方法各有所长。QrCreator就是混合使用多种技术的一个示例。实际上,它使用了传统的QtWidgets,例如菜单和对话框等;QtQuick则作为欢迎界面,QtWebKit则用于呈现Qt相关的文档。下面的内容将简要介绍这几种用于创建用户翻译 2013-04-20 21:43:40 · 2594 阅读 · 0 评论 -
Qt应用程序之Application Main Window详解
Qt应用程序之Application Main Window详解【主窗口类概览】 下面的类提供了创建典型现代主窗口应用程序的所有事物,例如:主窗口自身,菜单以及工具栏,状态栏等等。【主窗口类】 Qt 提供了下面的类用于管理主窗口以及与用户界面关联的组件: *QmainWindow是构建应用程序主要的类。与接下来的QDockWidget和QT原创 2013-04-24 23:22:25 · 7151 阅读 · 1 评论 -
根文件系统及Busybox详解之一
根文件系统及Busybox简介目录1.根文件系统简介...22.Busybox简介...22.1Busybox简介...22.2Busybox目录结构简介...22.3init进程简介...33.构建自己的根文件系统...93.1编译Busybox.93.2向Busybox中添加新命令...194.附录...264.1Busybox实现的简单分析...2原创 2013-04-05 13:55:25 · 12946 阅读 · 6 评论 -
Qt 5入门指南之Qt Quick编程示例
Qt 5入门指南之Qt Quick编程示例 使用Qt创建应用程序是十分简单的。考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了不同的方法。在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且你也已经熟悉了Qt的开发工具。QtSDK提供了QtCreator集成开发环境使得开发Qt的应用程序十分简单。用户界面的选择翻译 2013-02-03 16:24:21 · 53779 阅读 · 6 评论 -
C/C++定义全局变量/常量几种方法的区别
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块) 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么转载 2012-07-05 00:08:21 · 4049 阅读 · 2 评论 -
C语言可变参数全解
cstdarg(stdarg.h)可变参数的处理 这个头文件定义了一些宏,可以通过这些宏来逐个访问被调函数的没有名字的参数列表,这些参数的个数和类型都是不知道的。 一个函数可以通过包含一个逗号和三个点(,...)接收可变数量的额外参数,而不需要给出相应的参数定义。这些可变参数必须出现在常规命名参数的后面。返回值 函数名 (参数声明 , ...);可以通过翻译 2012-04-25 10:06:23 · 2229 阅读 · 0 评论 -
Linux 内存管理之highmem简介
一、Linux内核地址空间一般来说Linux 内核按照 3:1 的比率来划分虚拟内存(X86等):3 GB 的虚拟内存用于用户空间,1GB 的内存用于内核空间。当然有些体系结构如MIPS使用2:2 的比率来划分虚拟内存:2 GB 的虚拟内存用于用户空间,2 GB 的内存用于内核空间,另外像ARM架构的虚拟空间是可配置(1:3、2:2、3:1)。内核线性地址空间用于为内核的运行提供最基本的支持,也是转载 2014-07-06 17:19:40 · 2571 阅读 · 0 评论