摘要: c运行时库与c标准库的区别c标准库包括常用的数学函数、字符串操作函数等等,这些函数都是由编程高手写的,效率高,很少出错,而且是完全符合c语言标准的函数。c运行库可以说是c标准库的扩展集,它是完全包含c标准库,但是在此基础之上添加了一些额外的函数(目前我所知道的就是由于操作系统的不同而导致的)。比如说c标准库的strcpy函数负责字符串的拷贝,但是由于缺少对目地字符串缓冲区大小的控制,极有可能导致缓冲区溢出(大量的缓冲区溢出攻击都是由于这种漏洞而产生的);相反,Windows提供了能够实现同样功能的安全的字符串拷贝函数,减少了缓冲区攻击的可能,strcpy_s。这些函数是以c运行库的方式提供的, 阅读全文
posted @ 2013-10-11 09:19 springbarley 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂[编辑]维基百科,自由的百科全书跳转至: 导航、 搜索以统一塑模语言中的类型图来表示抽象工厂抽象工厂模式(英语:Abstract factory pattern)是一种软件开发设计模式。抽象工厂模式提供了一种方式,可以将一组具有同一主题的单独的工厂封装起来。在正常使用中,客户端程序需要创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体对象。客户端程序不需要知道(或关心)它从这些内部的工厂方法中获得对象的具体类型,因为客户端程序仅使用这些对象的通用接口。抽象工厂模式将一组对象的实现细节与他们的一般使用分离开来。举个例子来说,比如一个抽象工厂类叫做DocumentCrea 阅读全文
posted @ 2013-10-10 16:09 springbarley 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 隐式链接(静态调用方式): 由编译系统完成对DLL的加载和应用程序结束时DLL卸载的编码(如还有其它程序使用该DLL,则Windows对DLL的应用记录减1,直到所有相关程序都结束对该DLL的使用时才释放它),简单实用,但不够灵活,只能满足一般要求。隐式的调用:需要把产生动态连接库时产生的.LIB文件加入到应用程序的工程中,想使用DLL中的函数时,只须说明一下。隐式调用不需要调用LoadLibrary()和FreeLibrary()。程序员在建立一个DLL文件时,链接程序会自动生成一个与之对应的LIB导入文件。该文件包含了每一个DLL导出函数的符号名和可选的标识号,但是并不含有实际的代码。LI 阅读全文
posted @ 2013-10-10 11:28 springbarley 阅读(2038) 评论(0) 推荐(0) 编辑
摘要: 之前简单写过如何创建lib和dll文件及简单的使用(http://blog.csdn.net/betabin/article/details/7239200)。现在先再深入点写写dll的加载方式。dll的加载方式主要分为两大类,显式和隐式链接。具体名词解释如下:隐式链接有时称为静态加载或加载时动态链接。显式链接有时称为动态加载或运行时动态链接。这样我们就大概理解了这两种链接方式了,然后我们再来讲讲如何具体的操作。在隐式链接下,使用 DLL 的可执行文件链接到该 DLL 的创建者所提供的导入库(.lib 文件)。使用 DLL 的可执行文件加载时,操作系统加载此 DLL。客户端可执行文件调用 DL 阅读全文
posted @ 2013-10-10 11:20 springbarley 阅读(1564) 评论(0) 推荐(0) 编辑
摘要: 本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流。本文包含以下内容:创建动态链接库项目向动态链接库添加类创建引用动态链接库的应用程序在控制台应用程序中使用类库的功能更丰富的simpledll类和相关问题参考资料创建动态链接库项目:1、打开MicrosoftVisualStudio2010,选择File->New->Project。2、在NewProject中选择InstalledTemplates->VisualC++->Win32。3、选择Win32ConsoleApplication,设置名称:si 阅读全文
posted @ 2013-10-10 10:55 springbarley 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: VS2010 动态库开发——第一章 演练:创建和使用动态链接库 (C++)转载自[http://www.cnblogs.com/sdlypyzq/archive/2012/01/17/2324215.html]Visual Studio 2010 其他版本 Visual Studio 2008 Visual Studio 2005我们将创建的第一种类型的库是动态链接库 (DLL)。 使用 DLL 是一种重用代码的绝佳方式。 您不必在自己创建的每个程序中重新实现同一例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。本演练涵盖以下内容:创建新的动态链接库 (DLL) 项目。向 阅读全文
posted @ 2013-10-10 10:44 springbarley 阅读(345) 评论(0) 推荐(0) 编辑
摘要: install解释:TARGETS版本的install命令 install(TARGETS targets... [EXPORT ] [[ARCHIVE|LIBRARY|RUNTIME|FRAMEWORK|BUNDLE| PRIVATE_HEADER|PUBLIC_HEADER|RESOURCE] [DESTINATION ] [PERMISSIONS permissions...] [CONFIGURATIONS [Debug|Release|...]] [COMPONE... 阅读全文
posted @ 2013-10-09 17:18 springbarley 阅读(7095) 评论(0) 推荐(0) 编辑
摘要: from pdfminer.pdfinterp import PDFResourceManager, process_pdffrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsimport threading, osclass PdfThread(threading.Thread): def __init__(self, in_queue, doc_txt_dir): threading.Thread.__init__(self) self.in_que... 阅读全文
posted @ 2013-09-30 16:48 springbarley 阅读(1274) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://coolshell.cn/articles/8961.html#more-8961前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一句——“那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了……OO的设计模式思想和Unix的设计思想基本没什么差别”,结果引来了一点点争议。所以,我写下这篇文章把我的观点说明一下。我希望这样可以让大家更容易地理解什么是设计模式。我顺便帮OO和 Unix/Linux搞搞基。什么是模式在正式说明GoF的那23个经典的设计模式其实和OO关系不大并和Unix的设计思想很相似的这个观点之前,让我 阅读全文
posted @ 2013-09-29 12:44 springbarley 阅读(330) 评论(0) 推荐(0) 编辑
摘要: python:Guidelines derived from Guido's RecommendationsTypePublicInternalPackageslower_with_underModuleslower_with_under_lower_with_underClassesCapWords_CapWordsExceptionsCapWordsFunctionslower_with_under()_lower_with_under()Global/Class ConstantsCAPS_WITH_UNDER_CAPS_WITH_UNDERGlobal/Class Variab 阅读全文
posted @ 2013-09-03 17:28 springbarley 阅读(505) 评论(0) 推荐(0) 编辑