- 博客(81)
- 资源 (11)
- 收藏
- 关注
转载 QtCreator源码分析 -3.插件管理系统
2013年11月14日 11:34:31 Trump_zhai 阅读数:3615首先,我们先看看QT的插件系统。QT的插件模型类似于在COM本质论前面部分内容里描述的模型(不过还没有去看具体的源码,实现机制是否一样还不确定)。动态链接库通过继承一个简单接口的纯虚类,在需要的时候动态载入,然后通过纯虚类的接口函数进行进一步的访问。从而为动态链接库提供一个统一的发现方式。 在QT的插件...
2019-01-16 09:16:11 345
转载 深入理解QtCreator的插件设计架构(转)
深入理解QtCreator的插件设计架构+++date = "2017-04-28T00:59:02+08:00"draft = truetitle = "深入理解QtCreator的插件设计架构"blog ="blog.qizr.tech"+++基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的方式耦合,两者在保...
2019-01-14 10:25:09 422 1
转载 python
api:https://www.dlitz.net/software/ku:https://pypi.python.org/pypiwendang:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431756919644a79
2017-09-27 14:44:39 366
转载 收藏
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在Linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz2105
2017-07-04 10:46:24 483
转载 log
#ifndef COMMAND_DEFINE_H#define COMMAND_DEFINE_H//日志级别的提示信息staticconst char * KEYINFOPREFIX = " Key: \n";staticconst char * ERRORPREFIX = " Error: \n";sta
2017-06-05 09:18:15 370
转载 ubuntu12.04下安装openssl
ubuntu12.04下安装openssl1、卸载原来的openssl sudo apt-get remove openssl libssl-dev 2、下载openssl-1.0.1g.tar.gz3、安装openssl: 安装包。(解压目录为OPENSSL) tar –xvf openssl-1.0.1.tar.gz 进入目录OPENSSL
2017-04-07 08:04:29 2956
转载 Linux系统安装 OpenSSL两种方法
OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法。方法一,编译安装 OpenSSL2.1、准备工作系统版本:Ubuntu-10.10-Server-I386更新源:apt-get update升级软件:apt-get upgrade更新系统:apt-
2017-03-16 19:46:46 11632
转载 解读DES和SM4、RSA和SM2及SM3
解读DES和SM4、RSA和SM2及SM3 安全是智能卡的核心,而算法是安全的基础。 国密算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。今天小钞就以分组密码算法(DES和SM4)、公钥密码算法(RSA和SM2)、摘要算法(SM3)为例,和大家谈谈国际算法和国密算法
2017-03-16 15:24:59 4865
转载 软件反破解的几个思路
1、检测调试寄存器 (1)检测 softice 等系统级调试器 检测softice的方法有很多.检测主要在驱动里中实现。 (2)监测用户级调试器用户级调试器具有一下几个特征: 用户级调试器是采用microsoft提供的dbghelp.dll库来实现对软件跟踪调试的。 被调试的软件其父进程为调试器。 所以可以采用如下的方法来检测:
2017-03-10 18:24:28 3724
转载 Linux中的likely()和unlikely()
likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确: if (likely(value))等价于if (value) if (unlikely(value))等价于if (value)也就是说likely()和unlikely()从阅读和理解的角度是一样的。这两个宏在内核中定义如下:#de
2017-03-02 10:39:33 441
转载 __ATTRIBUTE__
GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute
2017-03-02 09:51:06 433
转载 Linux IP_FORWARD说明
--Linux IP_FORWARD说明ip地址分公有地址和私有地址,public address是由INIC(internet network information center)负责,这些ip地址分配给注册并向INIC提出申请的组织机构。通过它访问internet.private address是属于非注册地址,专门为组织内部使用,private ip address是不可能直接
2017-02-27 15:38:25 1876
转载 vs2013编译错误代码锦集
编译器错误 C2001 错误消息 常数中有换行符 字符串常数不能继续到第二行,除非进行下列操作: •用反斜杠结束第一行。 •用一个双引号结束第一行上的字符串,并在下一行用另一个双引号
2017-02-27 13:35:34 3237
转载 Computer Security Conference Ranking and Statistic
RankingNote: How to judge how good a conference is? In my opinion, here are several criterias: Acceptance ratio: definitely an important metric (maybe the easiest metric that can be quantif
2017-02-23 14:55:45 475
转载 VS2010中编译openssl的步骤和使用设置
一.VS2010中编译openssl的步骤版本号:openssl-1.0.1e (之前在VS2010种编译0.98版本的没有通过,但在VS2005中曾经编译成功)1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目录(也可自己指定路径和目录名称)2.下载 from http://www.activestate
2017-02-20 08:29:41 548
转载 设计模式
单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责
2016-04-05 11:07:33 485
转载 注册表
注册表结构 HKEY_LOCAL_MACHINE根键(一) HKEY_LOCAL_MACHIN根键中存放的是用来控制系统和软件的设置。由于这些设置是针对那些使用Windows系统的用户而设置的,所以它与具体用户无关,它是一个公共配置信息,大家只须作一个了解就可以了。 HKEY_LOCAL_MACHINE包括了如下五个子键,如图: HARDWARE子键: 该子键
2016-03-22 10:02:25 1883
转载 分区
什么是MBR和主引导引导扇区?什么是主分区、扩展分区、逻辑分区?什么是活动分区、引导分区、系统分区、启动分区?一下子罗列这么多概念,恐怕很多人都搞不清它们的区别和联系吧。网上虽然不少解释,但很多是模棱两可甚至是错误的,反而越弄越糊涂。猫猫煞费苦心的把这一大串概念研究了很长时间,试图搞明白,为了以后查阅方便,于是把对这些概念的理解总结了一下。而要想分清这些概念,真要费一点脑筋啊! 一、MBR
2015-08-31 17:00:56 389
转载 用VC进行COM编程所必须掌握的理论知识
一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件划分成许多模块,每个模块完成各自不同的功能,尽量做到高内聚低藕合,这已经是一个很好的开始,我们可以把不同的模块分给不同的人去做,然后合到一块,这已经有了组装的概念
2015-08-23 23:40:04 404
转载 vc中调用Com组件的方法详解
需求:1.创建myCom.dll,该COM只有一个组件,两个接口: IGetRes--方法Hello(), IGetResEx--方法HelloEx()2.在工程中导入组件或类型库clip_image001 #import "组件所在目录myCom.dll" no_namespace或clip_image001 #import "类型库所在目录myCom.tlb"
2015-08-23 23:35:14 474
转载 全文检索学习
觉先博客园首页新随笔联系订阅 管理随笔- 92 文章- 49 评论- 640 Lucene学习总结之一:全文检索的基本原理一、总论根据http://lucene.apache.org/java/docs/index.html定义:Lucene是一个高效的,基于Java的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们
2015-07-08 13:23:59 567
转载 boost资料
AnIntroduction+to+Boost.chmBeyond+the+C+++Standard+Library(中文版).pdfBeyond_STL An Introduction to Boost中文.chmBoost And STL学习资料 .chmboost graph library.pdfBoost+库+学习指南+.pdfboost-thread.pdfboost_1
2015-04-20 22:19:43 595
转载 向依赖关系宣战
一篇依赖倒置,控制反转,依赖注入好文摘自(http://www.contextfree.net) 向依赖关系宣战 依赖倒置、控制反转和依赖注入辨析在《道法自然——面向对象实践指南》一书中,我们采用了一个对
2015-04-13 14:31:29 431
转载 这些苦对您很有用
C++著名程序库的比较和学习经验1、C++各大有名库的介绍——C++标准库 2、C++各大有名库的介绍——准标准库Boost 3、C++各大有名库的介绍——GUI 4、C++各大有名库的介绍——网络通信 5、C++各大有名库的介绍——XML 6、C++各大有名库的介绍——科学计算 7、C++各大有名库的介绍——游戏开发 8、C++各大有名库的介绍——线程 9、C++各大有名库的介
2015-03-04 10:32:33 468
原创 内存泄漏检测
Visual Leak Detectorvld.codeplex.com/www.codeproject.com/Articles/9815/Visual-Leak-Detector-Enhanced-Memory-Leak-Detectio#include "stdafx.h" #include "vld.h" int main() { int *p = new int
2015-01-19 11:46:51 406
原创 new与malloc的不同
new与malloc的不同:1、malloc是函数,而new是运算符2、malloc不在编译器的管辖范围内、无法执行构造函数与析构函数3、new实际上使用了malloc函数、new实际上等价于malloc函数+构造函数的执行;delete类似4、new返回的是类类型、malloc返回的是void*5、其它………………
2014-08-13 14:26:33 597
原创 const与define的不同
const与define的最大不同是:const在内存中只有一份、汇编给出的是内存地址;而define有很多份,因为define在立即数中
2014-08-13 14:14:02 1457
原创 对文件地址的几种概念的理解
基地址:文件的实际装入内存地址、模块首址(大多数情况下为模块句柄、loadlibrary或getmodulehandle函数返回的整数)RVA:文件在内存中相对虚拟地址、相对于基地址的偏移量VA:文件在内存中的虚拟地址、或叫文件内存中的实际地址(4g内存逻辑空间中的实际地址、非内存物理地址)计算: VA = 基地址 + RVA;RAW: 文件外设相对地址............
2014-08-04 11:22:06 1088
转载 PE格式详细讲解
PE是英文Portable Executable(可移植的执行体)的缩写,从缩写可以看出它是跨平台的,即使在非intel的CPU上也能正常运行的。它是 Win32环境自身所带的执行体文件格式。其实不光是EXE文件是PE格式,其它的一些重要文件,例如动态链接库文件(DLL),驱动文件(SYS)等也是PE格式的,所以学好PE格式是非常重要的,以下我把这类文件统称为PE文件。学习PE文件结构不仅可以使我
2014-07-31 15:42:09 828
原创 使用c++替代使用c的封装!
见过很多人写c代码、用结构体将各种要素封装、如下转载一个使用epoll的例子:// // a simple echo server using epoll in linux // // 2009-11-05 // 2013-03-22:修改了几个问题,1是/n格式问题,2是去掉了原代码不小心加上的ET模式;
2014-07-21 11:50:30 1068
原创 libevent简介和使用
libevent接口的使用是简单容易的、关键还是一些其它技术需要深入了解、如epoll!下面文章来自open经验库:libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库。总体来说,libevent有下面一些特点和优势:* 事件驱动,高性能;* 轻量级,专注于网络; * 跨平台,支持 Windows、Linux、Mac Os等;
2014-07-15 22:09:47 1144 1
原创 几个重要的源代码
几个重要的源代码、有时间可以深入的研究研究!1、Memcached一听名字就是内存方面的东东,计算机重要的研究对象无疑都是内存呀、磁盘等外设呀,所以,这个东东研究研究很有好处。百度百科对她的解释:Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。M
2014-07-15 20:03:44 1255 1
转载 如何通过自学,成为数据挖掘“高手”?
求教各位对数据挖掘有一定了解的达人,如何从“零”开始学习数据挖掘?需要掌握哪些基本的技能?(比如是不是一定要会用R进行简单编程、掌握哪些基本的数学知识等)喜欢数学,本科有最基本的数学基础(数学分析、线代、概率论与统计、数论…),本身对数据挖掘很有兴趣,如果掌握了,对现在的工作也会很有帮助,所以下决心来从头学起。诚挚感谢!4条讨论 | 修改记录 水终分享到: 豆瓣 新浪微博
2014-07-15 10:21:20 981
原创 web中文数据解析流程
1 获取web原始数据2 确定数据编码 如:是不是url编码或base64编码3 如有编码需解码4 确定原始数据字符集以及本地显示字符集5 字符集转换6 显示
2014-07-15 10:15:27 715
原创 被攻击减血,攻击可增加等级
/** 备忘录模式*/#include //保存值class mySavevalue {public: mySavevalue(string user_name = "", int life_value = 100, int magic_point = 100, int rank_values =
2014-06-30 15:42:28 815
原创 文件处理
#include "my_file.h"//将文件内容拷贝到指定文件int mycopy(const char *filename){ ifstream infile(filename, ios::binary); ofstream outfile("TRACE.txt", ios::binary); if (!infile.is_open() || !outfile
2014-06-27 10:32:16 756
转载 类型转换
} 补充: dynamic_cast的注意事项:dynamic_cast转换符只能用于指针或者引用。dynamic_cast转换符只能用于含有虚函数的类。dynamic_cast转换操作符在执行类型转换时首先将检查能否成功转换,如果能成功转换则转换之,如果转换失败,如果是指针则反回一个0值,如果是转换的是引用,则抛出一个bad_c
2014-06-24 11:25:00 528
原创 setjmp/longjmp
1、setjmp/longjmp属于传统的错误处理2、setjmp/longjmp是对goto语句的补充,goto智能实现局部跳转,setjmp/longjmp可以实现全局跳转3、setjmp/longjmp与goto都有缺陷传统错误处理的3种方式是:1、设置全局错误状态,标准c中使用errno与perror函数来支持2、使用标准c库中的信号3、使用setj
2014-06-24 08:48:36 764
转载 UML中的六大关系
UML中的六大关系 UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑。这里给出这六种主要UML关系的说明和类图描述,一看之下,清晰明了;以下就分别介绍这几种关系: 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,
2014-06-20 17:07:18 565
SQL2000语言大全
2009-07-28
PC-PLC组成的电梯群控系统.rar
2009-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人