自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (11)
  • 收藏
  • 关注

原创 C++文法

非常好的C++文法说明。

2016-04-26 17:10:22 1942

原创 数据分析-关于男女比例的问题

男女比例失衡真的是打胎造成的吗?

2015-10-06 13:39:46 4030

原创 预测你的工资?

其实每个数据预测都是有前提的,报告这个案例,预测你的工资。在这个例子中,我们的假设前提是什么?1、  你没有换工作;2、  你的工作不是有大幅业务变化的销售类工作;3、  你的公司运作正常;4、  ......怎么预测?虽然案例是简单了一些,但也可以针对数据分析说明一些问题。那么我们怎么预测呢?大致分两个步骤:

2015-09-27 22:10:58 1583

转载 转-计算机系统要素CPU的硬件实现

http://blog.csdn.net/Solstice/article/details/4091796不太知道怎么转,所以把链接拷贝了过来,这篇文章

2014-06-03 16:50:58 936

原创 .idata数据的解析

每类Section代表不同的数据,不同的数据存储组织方式一定是有非常大区别的。代码段与资源段一定区别巨大,这意味着我需要一个一个的学习每个段的解析。 idata段解析这个段主要存储的是导入符号信息。昨天花了很多时间研究符号的获取,但就在刚刚开始就卡壳了,很多人都是说读取了IMAGE_IMPORT_DESCRIPTOR,就可以获取到链接库名称,但这个字段是一个地址,我根本不能理解这个地址

2013-09-02 21:31:24 2908

原创 exe解析

IMAGE_DOS_HEADER      size   0x40e_lfanew                           0xe0 当中有0xA0的间隔数据。 IMAGE_NT_HEADERS        size  0xf8 Section Header紧接着NT_HEADERS 通过IMAGE_NT_HEADERS结构中的Section

2013-09-01 21:07:16 1505

原创 高级语言如何映射到汇编的映射

语言的设计发展是从低级向高级发展的过程。汇编放一边不说,可以看看C是如何转换为汇编代码,我仅仅是对原理性东西做概要解释,所以有些地方可能不够准确。C语言我可以将程序内容,分为三个部分:变量、结构、函数。        变量一般分为函数内变量,函数外变量,这两者之间是有区别的,函数外变量,最终将被存放在一个全局堆空间,而函数内变量往往通过栈方式来构建出来,或者说是动态存在于栈空间。对于函数外

2013-09-01 10:22:25 1666 1

原创 跨平台编译我选择CMake

对于我们所有的程序员来说,我们只愿意将时间尽量放在一个平台上,虽然我们可以熟练使用多个平台操作系统,但很多时候我们只在一个平台上,无它,手熟耳。但我们写的程序往往被客户期望能够运行在多个操作系统上,这样就涉及到跨平台开发,其实更多指的是跨平台编译。对于这个问题,有两个比较鲜明的不同的解决方案,一个是我们使用一种工具,而这种工具可以在不同操作系统下相似的使用,另一个解决方案是通过一个统一的工具,

2012-12-01 18:54:36 1254 4

原创 C++脚本执行引擎

先晒晒代码,以及运行结果:extern "C" void Do(const char* str);extern "C" void DoInt(int);class CX{public:virtual int __attribute__((thiscall)) DoTest1(int i) = 0;};extern CX* pMyClass;

2012-11-09 22:57:56 2499 1

原创 支持lua开发网页的服务器

最近突然想用lua写网页来玩,当然玩只是一个原因,另一个原因是有些后续的对服务器要求比较简单的项目,因为这个项目只是空闲时间偶尔弄弄,所以进度也是比较慢,今天总算是把基本的几个示例写了写,然后就打了包发到CSDN的资源中了,有兴趣的可以下载测试看看。下载地址:http://download.csdn.net/detail/ybb_y1b1b1/4687716用lua脚本来模拟ASP

2012-10-25 21:57:49 2796

原创 Node脚本变化后的自动加载

在写几个Node.js的测试程序过程中,发现一个很严重的问题,每次当我更改了程序,必须重新启动Node,这样非常麻烦,尤其在以后的实际部署中。我想这个问题应该不止我遇到,很多人都会有和我一样的想法,所以就Google了下,结果还真不错,找到了supervisor,这个模块非常好用,它可以监控脚步文件内容的更改变化,当变化被监测到时,会自动重新启动Node,这样就简单很多了。supe

2012-07-01 11:39:35 883

原创 初识Node.js后的总结

在前几天,偶然的时间里,偶然的机遇下,看到了Node.js,发现很火,所以就简单了解了下,还有待更进一步了解。这里先把初步了解的一些信息做下整理。1、 Node.js是什么?简单说,就是可以让JS脚步能够跑在服务器后端上的一个程序。2、 Node.js最大优势是什么?可以利用你原有对JS脚步的知识进行服务器后端开发,虽然说学习一个新的编程语言对很多人来说问题不大,但如果要用好一个语

2012-06-30 10:10:45 1074

原创 基于WII手柄的电子白板(2)

今天拿到了蓝牙适配器,在电脑上简单用了下,还是很不错的,手机给电脑发数据,电脑给手机发数据都没啥问题,并且都不需要安装任何驱动。晚上回家测试了昨天买的WII手柄,效果不错,过程基本和某博客中描述的一样。有兴趣的朋友可以浏览下该博客,还是写的不错的。http://blog.

2011-10-08 20:35:29 2207

原创 基于WII手柄的电子白板(1)

昨天买了一个WII手柄,希望最近几个月可以完成基于WII手柄的电子白板。可能会分为多个章节来进行记录过程。本章节会先收集下具体需要哪些元件。1、 WII手柄2、 电脑蓝牙3、 红外笔4、 支架 基本原理:红外笔发出红外光,WII手柄对红外点进行成像,电脑再

2011-10-07 12:33:06 2072

原创 移动互联时代的新机会

我在这里稍微预想下不远的将来,可以肯定的是网速的提升是必然的,网络的普及也是必然的,应该不用2-3年,我们的3G包月服务应该就会像现在的家庭宽带一样普及了,在这样的条件下,我们的生活将会发生哪些改变?我们很多信息的获取,与人的沟通将更加依赖于移动网络。到那个时候,手机上必然需

2011-10-06 08:45:50 1144 2

原创 插件框架之任务列表插件

简单的任务列表也有存在的意义,意义就是多台电脑之间的同步,同步有多种方式,可以建立一个服务器,也可以将数据按照一定规则存储到某共有的存储器上。但我还希望这个插件具有向朋友发任务的一个功能,并且在任务完成后可以通知任务发出者。 例如,小A有个小东西需要小B来帮忙完成,而小B

2011-09-22 21:23:15 1336 3

原创 插件框架之小工具插件示例工程

前边有几篇文章专门讲述了对插件框架的设计,本文将主要讲述如何建立一个稍微看上去像个样子点的插件系统示例。 目标系统描述该系统为用户提供了简单的常用功能,类似于一个简单工具包,每个工具包是一个插件。系统启动后自动缩小到系统托盘,在系统托盘的图标上点击鼠标右键弹出菜单,用

2011-09-21 23:29:32 1148

原创 以后该如何写博客?

问题由来最近我老会写一些自己的思路,因为是自己的思路整理,所以总是写的随随便便,有点语言不通,跌三倒四,虽然如此,也没有主动去修正,有点感觉是爱看就看,不爱看拉倒。现在,我终于觉悟到自己的愚蠢与不负责任了。某天,我看了一篇文章,该文写的逻辑不清,语言不严谨,并还带有不少错别字,看

2011-09-19 23:03:54 1287 2

原创 插件框架5 插件框架内核

与插件框架内核相关的几个职责:1、 系统启动时加载插件;2、 负责插件的初始化;3、 负责插件的关闭处理;4、 系统结束时释放插件资源;5、 执行主插件  以上是内核模块的职责划分,内核的实现模块划分如下:主模块     负责流程的执行插件

2011-09-17 16:28:55 1240 1

原创 插件框架4 内核插件之日志插件

功能需求:能够扩展日志输出类别;默认包含文件输出;能够自定义消息属性;默认三类消息级别;提供简单的日志输出格式,可能有数字,文本的混合  方案:定义一个日志输出类别基类;日志主插件需要主要去加载所有扩展输出类别插件;日志主插件只提供文本

2011-09-17 16:28:11 1046

原创 插件框架3 插件配置描述规范

配置描述信息主要完成两个事情:1、  定义哪个插件是系统启动主插件;2、  定义了插件的名称、实现功能点、具体的实现链接库; 所以需要两个类型的配置文件,分别形式如下:Plugin Name xxxx xxxxxxxxx

2011-09-17 16:27:22 947

原创 插件框架2 插件规范

规范是什么?规范就是一种行为指导的描述。本质上交流用的语言就是一种应用很广的规范,大家都遵从这样一个规范,所以我写的内容,大家才可以看懂。 我们的插件规范指什么?更加准确或狭义上讲,是插件导出接口规范。也就是规定了插件导出接口的形式,这样插件加载器就能获取该接口,并用约定

2011-09-17 16:26:44 1592

原创 插件架构1

插件框架在一定程度上也叫微内核框架,它的本质就是希望提供一组最核心的功能,而其它功能都可以在此基础上通过类似插件的技术来扩展实现。 我在准备开发这个插件框架的时候,首先想到的问题就是,这个“内核”到底该保函哪些东西?插件之间存在什么样的交互?以及如何进行交互? 我

2011-09-17 16:25:47 2002 3

原创 windows下QT库编译

一、前言因为需要研究TestCocoon,所以就将该程序的源码下载了下来,准备研究看看它插桩是什么样的机制,用CMake生成VS工程的时候,报了不少错,是和QT相关的,也就是说我机子上没有安装QT库,所以没办法,我需要自己编译个QT库了。 二、QT下载我下载的QT

2011-08-31 15:36:31 2905

原创 TestCocoon安装使用小记

一、 TestCocoon介绍TestCocoon官方主页可以通过Google搜索到。它是一款支持C++、c#的插桩工具,支持多种编译器,包括VC、Intel C++、GCC、G++等。并提供了执行结果显示的软件。 二、 基本流程TestCocoon主要分为两个处

2011-08-31 15:07:33 3088 5

原创 Windows线程、界面、消息剖析

对于很多人来说,VC开发Windows界面程序,一般都基于MFC界面库,当前MFC并非windows下唯一的VC界面库,但由于历史原因,其使用者绝对是最多的。我们不对MFC库进行研究,仅仅是研究下windows中线程、界面、消息直接的关系。 线程是什么?线程就是一个执行流,它可以

2011-07-14 18:45:38 4722 1

原创 C++类内存结构分析

 本文的目标是阐述清楚C++的类相关的内存结构问题。 这个问题对于已经很了解的人来说,太简单了,这还有必要拿出来与人分享吗?但对于那些不了解的人,始终有一层窗户纸不能被捅破,似乎总是不能非常到位的理解本质。 本文的阐述过程会分为几个阶段,类与对象的关系,对象到底是什么,类的函数时如何被处理的,多态是如何被处理的,其中最核心的是对类函数的实质的理解。 1、 类与对象的关系

2011-06-24 01:19:00 1915

原创 插桩技术

<br />概要<br /> <br />插桩的概念:插桩就是在代码中插入一段我们自定义的代码。<br /> <br />插桩的目的:由于我们插入的代码会一起被编译到可执行文件中,所以可执行文件在运行过程中必然会执行我们插入的自定义代码,这样我们可以记录任何我们渴望知道的信息,例如函数的调用信息等。<br /> <br />插桩器的难点:<br />1、 深入了解目标语言的语法,能够对其解析,进行语义理解;<br />2、 确定插入代码内容,位置;<br /> <br />近期我将要完成一款XX语言的插桩器

2011-03-06 11:05:00 15563 4

原创 测试中的插桩技术

<br />插桩的概念:插桩就是在代码中插入一段我们自定义的代码。<br /> <br />插桩的目的:由于我们插入的代码会一起被编译到可执行文件中,所以可执行文件在运行过程中必然会执行我们插入的自定义代码,这样我们可以记录任何我们渴望知道的信息,例如函数的调用信息等。<br /> <br />插桩器的难点:<br />1、 深入了解目标语言的语法,能够对其解析,进行语义理解;<br />2、 确定插入代码内容,位置;<br /> <br />近期我将要完成一款XX语言的插桩器,希望能够积累一些有价值的经验

2011-03-05 23:04:00 8477

原创 金山快盘推荐

<br />我推荐使用的软件不多,但今天发现了金山快盘,很客观的说,它值得每一个用户使用。它真的是一个非常伟大的产品,主要有两个原因使得它伟大,一,超级大的容量,我注册开始是1G,然后几个基本操作后达到了2.5G,看介绍说可以免费升级到5G多,哪个免费的网盘有如此大的肚量?二,易用性,对于网盘,我其实有很强的需求,但不怎么使用,原因是每次需要打开网页,进入网盘,然后下载文件,修改完后还要上传文件,非常的繁琐复杂,而金山快盘采用了一种将网络磁盘映射到本地,使用起来和使用一个本地磁盘完全一样,本地的修改由后台程

2011-02-06 01:15:00 783

原创 QML学习(3)

<br /> <br />当你能够随意创建一个对象,随意添加一个交互动作时,你是不是觉得自己已经很NX了?如果这样,那只能说我们的视界还是有点小。<br /> <br />如果能够深入考虑一下问题,就会问自己几个问题,QML真正的优势到底在哪里?和FLASH有和异同?创建大程序时如何管理数据对象?这些问题先留给大家思考吧,因为我也还在思索着,哈哈。<br /> <br /> <br />今天就先来再做一个简单一点的例子,在页面上放两个文本对象,当编辑其中一个时,另一个对象的文本信息发生同样的变化。<br /

2011-01-26 21:17:00 2377

原创 QML学习(2)

QT界面设计之QML学习

2011-01-25 20:53:00 1391

原创 QML学习(1)

<br /> <br />目标:能够熟练掌握QML的开发。<br /> <br /> <br />第一天:<br />QML是什么?<br />官方有很标准的定义,我个人觉得它是一个脚本语言,能够通过该脚本语言创建动态的场景,有点类似于FLASH。<br /> <br />为什么要学习QML?<br />因为现代程序对界面的需求越来越高,而一般的C++界面设计比较复杂,所以需要一种能够快速建立界面,并且能够很好的与下层逻辑进行衔接的方案,QML就满足了这样的需求。<br /> <br />QML初步理解:<

2011-01-24 21:18:00 1580

原创 网络、磁盘、内存哪种方式更适合保存数据?

<br />首先,我需要解释下网络在这里的含义,它并不是指存储到一个可以访问的计算机,而是指本机子的一个网络程序,当前程序通过网络连接将信息发送给对方,由对方进行存储管理。<br /> <br />一般来说,在我们的印象中,保存在内存中速度更快,接着是硬盘,最后是网络。相信很多朋友与我一样,一直对这个想法停留在想象层面,觉得这不需要进行测试验证,就像真理一样,但很对不起,它不是真理,测试完了以后,我都还有一点不敢相信。<br /> <br />测试内容:将20000条记录,每条记录大约60个字符,通过上述三

2010-11-11 22:17:00 1149 1

原创 什么是GUI?

<br />我最开始接触编程是从QBasic开始的,那个时候就是在Dos下跑,因为眼光以及眼界的局限性,我一直以后编程就是写好的算法,那个时候连数据结构都没有听说过,真是孤陋寡闻的厉害啊。后来学习了C++,但也是在TC下编写的代码,编写的也是控制台程序,所以后来对Windows程序感觉特别神奇,这些按钮,菜单是怎么来的?突然之间感觉好茫然,不知道是怎么回事了? 不管是多么的惊讶和茫然,我也必须冷静下来,慢慢分析这个里边的逻辑。 有几个问题首先冒了出来,界面是怎么出来的?鼠标键盘这些操作怎么得到响应的? 从根

2010-10-17 09:26:00 890

原创 从堆栈结构说线程的代价

<br /> <br />今天休息,并且也没有什么其它事情需要完成,所以就对程序堆栈进行了调试查看。<br /> <br />以前一直没有认真追究过程序的堆栈,只是觉得书上说的就是对的,并不需要验证,所以对程序堆栈的体会只是停留在书本上的描述。<br /> <br />实验工具:一台电脑,VS2008软件(其它工具也可以了,只是我机子装的是这个IDE)<br /> <br />实验目的:我想知道程序堆栈在内存中如何组织,启动一个线程占用了什么资源?最多可以启动多少个线程?<br /> <br />实验过程:

2010-10-16 21:25:00 1575 1

原创 Lua与C++交互调用(1)

<br /> <br />1、 Lua脚本对c++接口的调用<br /> <br />1.1   简单示例<br />Lua脚本通过c++链接库调用c++提供的接口。c++提供的链接库需要按某种“样式”书写,才能够被lua脚本调用。<br />先通过一个简单示例来给大家一个很初步的认识:<br />首先建立一个空的c++动态链接库程序;<br />在其中建立test.h与test.cpp两个文件,其内容如下:<br /> <br />// test.h<br />// include headers<br

2010-10-12 10:48:00 3406

原创 计算机系统要素之汇编编译器

<br /> <br />汇编编译器用来将汇编程序翻译为二进制的机器码程序。<br /> <br />因为是学习计算机系统要素一书而写的这一部分代码,所以,二进制代码和汇编代码规范均采用该书所定规范。<br /> <br />规范描述:<br />1、语法规约和文件格式<br />汇编程序以"hack"为后缀名,二进制代码程序文件以"asm"为后缀名。<br /> <br />二进制代码文件由一行行1和0组成的字符串组成,每行16位,也就是说CPU为16位架构。<br />汇编文件也是由文本组成,每一行代表

2010-10-03 11:10:00 1255

原创 计算机的灵魂-时钟

<br /> <br />许久以前,总是认为CPU是计算机的灵魂,但现在我的看法发生了一些变化。CPU作为计算机内部一个非常非常重要的部件存在,所有的运算都基本由它来完成,可谓功不可没,但只能称它为计算机的大脑,为何不能称他为计算机的灵魂呢?因为在我们的意识中,灵魂是一个更加虚无缥缈的东西,也是能够让一副皮囊具有生命力的东西,所以我说时钟比CPU更适合被称为计算机的灵魂。<br /> <br />时钟的魅力<br /> <br />时钟使得计算机不断周期性的进行着周而复始的运算,当CPU运算完一条指令,如何

2010-09-22 09:07:00 784

原创 关于CPU速度浅识

<br /> <br />一直以来我们都知道不同的CPU有不同的频率,但一直没有明白为什么CPU会有频率限制,电子运动不是光速吗?我错了,电子在导线中传输是有速度的,同时电子在导线中移动时,由于导线的阻力,会产生大量的热量。<br /> <br />CPU一般从寄存器取值,计算过后,将结果写入寄存器中,这个过程可以理解为CPU从一个时刻开始,不停同时向几个寄存器取值,但由于距离不同,干扰不同,可能造成电子到达时间不同,例如在0.1个周期时,第一寄存器值已经到达,而第二个寄存器值尚没有到达,但这个时候CPU对

2010-09-13 09:34:00 592

机器学习系统设计资源(书与源码以及数据文件)

机器学习系统设计资源(书与源码以及数据文件) 原作者: Willi Richert

2017-12-20

自制CPU一书配套资源

自制CPU一书的配套资源,包括了Verilog HDL的代码,设计的电路板,以及后边章节的汇编测试代码。

2015-05-20

C++脚本执行引擎

基于clang llvm的C C++脚本执行引擎,能够完美支持C C++语法,更加能够与宿主程序公用函数,变量,类定义,如果好好完善,绝对比其他脚本语言更加更有潜力。 下载的软件包中,除了一个包含的测试程序,还有脚本执行引擎的库,库是基于debug的,所以需要再安装了VS2008的机器上测试,否则运行会有问题。

2012-11-09

支持lua脚本进行网页开发的服务器

支持lua脚本进行网页开发的服务器,不包含源码,仅仅是程序,里边包含了几个比较简单的示例,程序还在持续开发中,还不完善,只是提供给有兴趣的朋友了解。

2012-10-25

插件框架 添加了完整的示例工程

简单小巧完善的插件框架内核,可在此基础上继续丰富插件。 对插件内核添加了一些注释,添加了一个测试插件,用于说明插件消息的处理方式。 添加了一个完整的插件示例工程,用户可在此基础上添加小工具插件。

2011-09-21

插件框架C++20110920

一个C++插件框架,对插件内核添加了一些注释,添加了一个测试插件,用于说明插件消息的处理方式。

2011-09-20

插件框架C++

简单小巧完善的插件框架内核,可在此基础上继续丰富插件。

2011-09-17

计算机系统要素之汇编编译器

对计算机系统要素一书中提及的汇编编译器的C++实现版本。

2010-10-03

CSV文件表格对比软件

对CSV文件中表格内容进行对比,通过设置主键列,寻找出增加的行,删除的行,内容修改的行这些信息。 使用前,最好用Excel对要对比的两个CSV文件保存一下,保证格式的一致性。

2009-12-12

表达式解析之表达式树的建立

在上一阶段对字元提取的基础上,完成了表达式树的构建,通过这一表达式树的建立,可以很容易生成可顺序执行的基于堆栈的代码,这在脚本解析系统,已经编译器中是一个重要的部分。

2009-11-21

基于表达式解析的计算器程序

对表达式进行解析,为了测试解析的正确性,所以写了一个简单的基于表达式解析的计算器程序

2009-11-19

空空如也

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

TA关注的人

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