自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

匆匆一瞥

爱武侠,爱编程,崇尚自由,喜欢性情中人。

  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

转载 __declspec(dllimport)的作用

是时候总结一下__declspec(dllimport)的作用了。可能有人会问:__declspec(dllimport)和__declspec(dllexport)是一对的,在动态链接库中__declspec(dllexport)管导出,__declspec(dllimport)管导出,就像一个国家一样,有出口也有进口,有什么难理解的呢?这是一种很自然的思路,开始我也是这样理解。

2013-04-15 20:04:06 722

转载 【编程语言】Python操作注册表相关步骤详细介绍

Python编程语言最大的特点在于其简单易用,可以大大方便开发人员的程序开发。在这里我们就一起来了解一下有关Python操作注册表的相关应用技术。Python操作注册表相关的函数可以分为打开注册表、关闭注册表、读取项值、c添加项值、添加项,以及删除项等几类。Python操作注册表步骤之1.打开注册表对注册表进行操作前,必须打开注册表。在Python中,可以使用以下两个函数:RegO

2013-04-12 10:44:37 784

转载 【编程语言】正则表达式的高级使用

(1)后向引用 在匹配模式中使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推,分组0对应整个正则表达式 实际上组号分配过程是要从左向右扫描两遍的:第一遍只给未命名组分配,第二遍只给命名组

2013-03-29 19:31:11 752

转载 【编程语言】python中的metaclass

分享下自己对python的metaclass的知识。一 你可以从这里获取什么?1. 也许你在阅读别人的代码的时候碰到过metaclass,那你可以参考这里的介绍。2. 或许你需要设计一些底层的库,也许metaclass能帮你简化你的设计(也有可能复杂化:)3. 也许你在了解metaclass的相关知识之后,你对python的类的一些机制会更了解。4. mor

2013-02-12 01:41:25 704

转载 【编程语言】Python 魔术方法指南

什么是魔术方法?他们是面向对象的Python的一切。他们是可以给你的类增加”magic”的特殊方法。他们总是被双下划线所包围(e.g. __init__ 或者 __lt__)。然而他们的文档却远没有提供应该有的内容。Python中所有的魔术方法均在Python官方文档中有相应描述,但是对于他们的描述比较混乱而且组织比较松散。很难找到有一个例子(也许他们原本打算的很好,在开始语言参考中有描述很详细,

2013-02-08 17:32:47 1866

转载 【编程语言】关于extern "C"

extern "C"包含双重含义,其一:被它修饰的目标是“extern”的;其二:被它修饰的目标是“C”的。1)被extern “C”限定的函数或变量是extern类型的;    extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其他模块中使用。    注意:extern int a;

2013-02-04 01:06:35 575

转载 【编程语言】C中调用Python脚本

#Python脚本,存为pytest.pydef add(a,b):    print "in python function add"    print "a = " + str(a)    print "b = " + str(b)    print "ret = " + str(a+b)    return a + b// C代码调,用上面的add函数#i

2013-02-04 01:01:12 1396 2

转载 【编程语言】python的赋值

赋值是语言里最基本的语句,我到现在才发现我之前对python里的赋值的理解一直都是错的。 python里的赋值使用的是原对像的引用,而不是拷贝。因此,在进行b=a这样的赋值之后,对b进行操作,是有可能会影响a的值的。例如: >>> a = [1,2,3] >>> b = a >>> b.append(4) >>> print(a,b) [1, 2, 3, 4] [1,

2013-02-04 00:29:18 896

转载 【数据挖掘】SQL Server 2008 Analysis Services 入门教程

一. 创建 Analysis Services 项目单击“开始”,依此指向“所有程序”和 Microsoft SQL Server 2008,再单击 SQL Server Business Intelligence Development Studio。将打开 Microsoft Visual Studio 开发环境在 Visual Studio 的“文件”菜单上,

2012-11-29 00:14:44 20322 1

转载 【游戏人生】一个游戏程序员的学习资料

想起写这篇文章是在看侯杰先生的《深入浅出MFC》时, 突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序 员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无 疑会带上强烈的个人喜好色彩, 比如对网络,数据库等重要方面完全没有涉及。因为自己主要对三维图形引擎,

2012-08-28 15:46:48 1476

转载 【系统运维】“任务管理器”内存列的含义是什么?

在“任务管理器”中,可以通过将列添加到“进程”选项卡上所显示的信息中,来监视计算机上正在运行的进程。这些列将显示有关每个进程的信息,如进程当前正在使用的中央处理器 (CPU) 和内存资源的数量。 1. 通过右键单击任务栏,然后单击“任务管理器”,打开“任务管理器”。 2. 单击“进程”选项卡。任务管理器将显示当前正在用户帐户下运行的进程。若要显示所有用户正在运行的进程,请单击“显示所有用户

2012-08-28 15:29:27 1410

原创 【技术探究】一种基于虚拟单元可智能增长的内存池研究

1、引言:        随着科学技术的发展,新的应用需求和客观应用条件的成熟使得内存数据库(MMDB)应运而生。内存数据库将数据库的工作版本放在内存中,大部分操作都在内存中进行,从而磁盘 I/O 不再是内存数据库的瓶颈,如何提高数据库的效率和存储空间的利用率成为了内存数据库的设计目标。        在内存数据库中,大量的数据存取和事务处理使得内存频繁的进行分配和回收。而数据库中最常见的

2012-08-27 01:14:41 1685 5

转载 【开源项目】BOOST库的编译和配置

理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0;适用于各种C++编译器,如VC6.0,VS2003,VS2005,VS2008,gcc,C++ Builder等。一、下载首先从boost官方主页http://www.boost.org下 载最新版boost安装包(目前最新版是1.39.0)。因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boost专

2012-08-07 01:47:53 1188

转载 【编程语言】30种编程语言的比较选择问题

本文涉及到的编程语言:C、C++、Java、C#、Prolog、VB、Scala、Clojure、Haskell、Ada、Python、Ruby、Pascal(Delphi)、Fortran、Lisp、matlab、Perl、Erlang、Boo、Tcl、Bash、C shell、Objective-C、PHP、PL-SQL、Transact-SQL、ASP、JSP、Lua、smalltalk、R

2012-07-31 16:58:02 1279

转载 【编程周边】新的编程术语,你知道几个?

最近在Stack Overflow上就新的编程术语这一话题网友们展开的激烈的讨论,最后竟然有386个,没错,386个!请不要吃惊。一个问题可以有386个不同的回答,或许这已经不是一个问题了。这仅仅是一个民意调查,在调查中有一个X列表。我想你在浏览完所有答案后会学到一些关于编程方面的东西,但是很显然,太多的答案与GTKY(Getting to Know You)、学习相比,更多会被嘲笑。这就是为什么

2012-07-30 20:19:03 2494

转载 【linux学习】vim熟悉攻略

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类

2012-07-27 17:32:09 1410

转载 【开发工具】VS编译后生成的文件类型

1, PCH文件预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件(.PCH)里.这些预先编译好的代码可以是任何的C/C++代码--甚至可以是inline函数,只它们在整个工程中是较为稳定的,即在工程开发过程中不会经常被修改的代码.为什么需要预编译头文件?一言以蔽之:提高编译速度.一般地,编译器以文件为单位编译,如果修改了一工程中的一个文件则所有

2012-07-14 20:41:17 7234

转载 【算法设计】基于大规模语料的新词发现算法

对中文资料进行自然语言处理时,我们会遇到很多其他语言不会有的困难,例如分词——汉语的词与词之间没有空格,那计算机怎么才知道“已结婚的和尚未结婚的”究竟是“已/结婚/的/和/尚未/结婚/的”,还是“已/结婚/的/和尚/未/结婚/的”呢?这就是所谓的分词歧义难题。不过,现在很多语言模型都已能比较漂亮地解决这一问题了。但在中文分词领域里,还有一个比分词歧义更令人头疼的东西——未登录词。中文没有首

2012-07-08 00:45:09 5472 1

转载 【编程相关】作为软件工程师,你必须知道的20个常识

作为一名优秀是软件开发工程师,以下的这些常识你知道吗?在实际工作中有没有总结过呢?小编就带大家一起分享这20个软件开发常识。1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发,简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。2.软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深刻的理解这一点。3.数据结构与算法:

2012-07-07 23:08:26 983

转载 【框架搭建】Qt简介及集成到VS2010

Qt – 一个跨平台应用程序和UI开发框架它包括跨平台类库、集成开发工具和跨平台 IDE。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt 主要是由 诺基亚 开发和维护的。Qt通过开源授权(LGPL 和 GPL)以及商业授权的方式对 Qt 进行授权。在Linux下Qt可是大名鼎鼎,Linux的KDE图形界面就

2012-06-17 19:52:44 1341 2

原创 【网络通信】CAsyncSocket异步套接字中的注意点

由于CAsyncSocket异步套接字发送消息时,相应OnSend事件随即返回,有可能导致封装在其下的Send函数没还调用就返回了。如果主线程频繁调用AsyncSelect(FD_WRITE),就可能造成最后发送的所有数据包都是最后一次调用AsyncSelect(FD_WRITE)时的数据包。即客户端收到的所有数据包包含的信息都是一样的。为了避免这种情况,一是可以再每次调用AsyncSelect(

2012-06-12 22:03:10 663

转载 【系统运维】POSIX pthread详解

Posix线程编程指南(1)  内容:  一、 线程创建  二、线程取消  关于作者  线程创建与取消  杨沙洲([email protected])  2001 年 10 月  这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。   一、 线程创建  1.1

2012-06-05 15:55:00 2191

转载 【系统运维】POSIX phtread介绍

一、基本操作1、创建int pthread_create( pthread_t *tid, const pthread_attr_t *attr, void *(* func) (void *), void *arg );attr: 线程属性包括:优先级、初始栈大小,是否应该成为一个守护线程。缺省设置,NULL后面是线程要执行的函数和参数成功返回 0

2012-06-04 22:09:59 1378

原创 【系统运维】windows下pthread线程库的使用

一直以来,由于标准C++中没有纳入线程库,对于多线程的编程感到束手无策,win32的线程机制感觉用着不便。今天想搜索一下有没有其他线程库,想到了Unix下随处可见的pthread线程库,但是苦于这个库是针对unix系统设计的,无法拿到VS中使用。Google了一下,竟然有win32版的pthread,心中大快。赶紧下来使用了一下,当真可行,故分享之。下载建议大家下载:

2012-06-04 21:47:35 5014 2

转载 【编程语言】SGI STL中的hash_map浅析

为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信息,最傻的方法就是取得

2012-06-04 16:40:22 717

原创 【项目管理】SVN服务器的搭建

一、准备工作1、获取 Subversion 服务器程序到官方网站(http://subversion.apache.org/packages.html)下载最新的服务器安装程序。2、获取 TortoiseSVN 客户端程序从官方网站 http://tortoisesvn.net/downloads 获取最新的 TortoiseSVN 。TortoiseSVN 是

2012-06-03 21:14:05 779

转载 【算法探秘】位图排序

位图排序是一种效率极高(复杂度可达O(n))并且很节省空间的一种排序方法,但是这种排序方法对输入的数据是有比较严格的要求(数据不能重复,大致知道数据的范围)。位图排序即利用位图或者位向量来表示集合。举个例子,假如有一个集合{3,5,7,8,2,1},我们可以用一个8位的二进制向量set[1-8]来表示该集合,如果数据存在,则将set相对应的二进制位置1,否则置0.根据给出的集合得到的set为{1,

2012-05-24 11:41:55 553

转载 【编程语言】C++对象内存布局

对象的影响因素 简而言之,我们一个类可能会有如下的影响因素: 1)成员变量2)虚函数(产生虚函数表)3)单一继承(只继承于一个类)4)多重继承(继承多个类)5)重复继承(继承的多个父类中其父类有相同的超类)6)虚拟继承(使用virtual方式继承,为了保证继承后父类的内存布局只会存在一份)上述的东西通常是C++这门语言在语义方面对对象内部的影响因素,当然,还

2012-05-23 21:53:42 552

转载 【编程语言】C++ 虚函数表解析

前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。  关于虚函数的使

2012-05-23 21:52:02 452

转载 【编程语言】C++ 中的placement new

"placement new"? 它 到底是什么东东呀?我也是最近几天才听说,看来对于C++我还差很远呀!placement new 是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下: void *operator new( size_t, void

2012-05-18 22:31:44 486

原创 【内存池系列】我的内存池设计(更新中)

读罢多篇关于内存池的文章,本菜鸟终于准备开始思考设计我的内存池了,以下正式开始。设计目的:为了针对内存数据库中的内存分配问题。设计思路:通常我们在程序中不同地方频繁new的时候,就容易产生内存碎片,效率低下,并且还有可能忘记释放内存,造成内存泄露导致程序崩溃。(为什么会这样,见我前几篇转的文章,或者自己百度去)为了解决这些问题,我们在分配内存的时候可以采用内存池技术。然而内存池的实

2012-05-13 22:24:23 628

转载 【内存池系列】内存池的一些设计思路

1 定长分块的内存池:每次申请的内存量是常数。例如每次只能申请128字节,不多不少。参考Scott Meyers effective C++定长分块的内存池。这种内存池结构简单,易于实现和理解,效率也出奇的高(得益于自由列表数据结构)。effective C++例子中需要为每个类都建立一个对应的内存池。如果有100个类,就可能需要建立100个内存

2012-05-13 16:23:12 1059 1

转载 【内存池系列】内存池设计与应用

其实内存池的作用大家也知道,一般是解决大量的new和delete频繁操作引起的内存碎片,效率是一方面,另外长时间后的安全性也是一个问题。曾经看过《C++应用程序性能优化》里面的内存池结构,也看过ACE自己的自增式内存池结构,感觉每个都有自己的优点。但是大体思路都是一致的,那就是一次new出一大块内存,然后按照2的幂分配内存块。当申请的内存不够的时候,就会再次分配一个新的内存块,并按照指定的方式切割

2012-05-12 21:46:50 1273 1

转载 【内存池系列】Nginx源码剖析之内存池,与内存管理

引言        Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。      其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在

2012-05-12 15:33:53 1145

转载 【编程语言】如何解决菱形继承问题

继承、封装和多态是面向程序设计(OOP)的三大特点,而它们三者之中最具实际操作性的当属继承。通过继承可以实现简单功能的组合和定制,而多重继承更将这种能力发挥到更高的境界。不过事事都有弊端,如果使用多重继承不当很容易造成菱形继承问题(diamond problem)。Bjarne Stroustrup用下面这个例子描述菱形继承问题:class storable //this is t

2012-05-11 22:28:13 1657

转载 【性能分析】初探VS2010中的Profile(性能剖析)功能

VS2010中的Profile(性能剖析)功能十分实用,它可以协助程序员迅速锁定当前程序的性能瓶颈,为程序的优化做准备。点击VS2010的Analyze菜单,选择Launch Performance Wizard,依照提示可以很方便地完成Profile的必需配置。可能你会碰到"Injection of runtime library failed"错误,这时就不要使用Wizard,而要选择An

2012-05-11 22:06:36 7575

原创 【系统运维】单线程和多线程的几个疑问与解答。

Q1:单核CPU上单线程和多线程的执行效率问题。A:由于单核CPU上在任意时刻都只能有一个线程在运行。那么,在不考虑I/O等待的情况下,单线程的执行效率显然要高,因为免除了多线程上下文切换的开销。Q2:多线程程序比单线程程序能获得更多的CPU时间片A:这种说法是不正确的。尽管多线程程序竞争到CPU的概率大于单线程程序,但是存在一个线程优先级的问题以及短作业优先的抢占算法,故这种

2012-05-11 16:49:04 2109

转载 【IDE探究】VS2010中的调试技巧

今天的博文将介绍Visual Studio中的一些实用调试技巧。这是受我朋友Scott Cate (他发表过几十篇很棒的VS技术文章) 启发。他最近告诉我,许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧。希望这篇文章能帮你掌握这些技巧。它们都很简单,却能帮你节约大量的时间。  跳到当前光标处(Ctrl+F10)  我经常看到人们为了到达目标代

2012-05-10 22:25:00 1934 1

转载 【系统运维】内存对齐(二)

给你举个例子,如下结构体成员的大小是a+b=1+4=5个字节,但是事实上结构体的大小是8,因为要字节对齐,就是说32位的机器 //它的每个地址是4个字节,那如果有零头也会按4个字节算,这样方便取地址,程序如下: #include  struct A{ char a; int b; };int main (){ A ab; printf("sizeof(A)=%d

2012-05-09 21:36:28 1079

转载 【系统运维】关于内存对齐

一、什么是字节对齐,为什么要对齐?    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。    对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数

2012-05-08 22:31:53 887 1

简单易模仿实用的定时关机小程序

简约的定时关机小软件。代码简单易模仿。具有一定实用性。是初学者选择模仿的必备程序。

2010-11-05

简单的计算器小程序源码

不错的计算器程序源码,两编辑框显示,代码简单明了

2010-11-03

空空如也

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

TA关注的人

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