C++异常处理 - try,catch,throw,finally的用法
摘要:写在前面 所谓异常处理,即让一个程序运行时遇到自己无法处理的错误时抛出一个异常,希望调用者可以发现处理问题. 异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制. 也许我们已经使用过异常,但是你习惯使用异常了吗? 现在很多软件都是n*365*24小时运行,软件的健壮性至...
阅读全文
posted @
2015-11-10 18:58
超酷小子
阅读(12256)
推荐(1)
讲解DLL内容的比较详细的站点
摘要:1、通过 Visual Studio 2008 用C语言创建和调用DLL:http://blog.chinaunix.net/uid-631975-id-116622.html2、DLL(Dynamic Link Libraries)专题http://blog.csdn.net/Ocean2006/...
阅读全文
posted @
2015-10-12 11:06
超酷小子
阅读(376)
推荐(0)
在VS2012中采用C++中调用DLL中的函数 (4)
摘要:这两天因为需要用到VS2012来生成一个DLL代码,但是之前并没有用过DLL相关的内容,从昨天开始尝试调试DLL的文件调用,起初笔者在网络上找到了3片采用VSXXX版本进行调试的例子,相关的内容见本人Blog在C++中调用DLL中的函数(1)(2)(3)但是问题出现了,上面讲述的步骤很详细但是在自己...
阅读全文
posted @
2015-10-12 11:02
超酷小子
阅读(531)
推荐(0)
在C++中调用DLL中的函数 (3)
摘要:1.dll的优点代码复用是提高软件开发效率的重要途径。一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用。比较常见的例子是各种应用程序框架,ATL、MFC等,它们都以源代码的形式发布。由于这种复用是“源码级别”的,源代码完全暴露给了程序员,因而称之为“白盒复...
阅读全文
posted @
2015-10-12 11:00
超酷小子
阅读(420)
推荐(0)
在C++中调用DLL中的函数 (2)
摘要:应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0在VC\bin目录下提供了一个名为Dumpbin.exe的小程序,用它可以查看DLL文件中的函数结构。另外,Windows系统将遵循下面的搜索顺序来定位D...
阅读全文
posted @
2015-10-12 10:58
超酷小子
阅读(758)
推荐(0)
使用VS2012生成DLL文件 (1)
摘要:一:生成DLL1:创建DLL工程文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以)填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成。到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyD...
阅读全文
posted @
2015-10-12 10:56
超酷小子
阅读(609)
推荐(0)
简单验证码的识别
摘要:验证码图片均取自于国内某知名信息安全网站,通过图像处理、模板对比识别等步骤,实现了该类简单验证码图片的识别功能。同时对程序实现了可视化界面,并集成了(验证码)图片下载、(灰度值)门限手动调节等扩展功能。代码存在github,传送门请戳我。一、程序内容及原理本程序以Python实现,主要借助了PIL(...
阅读全文
posted @
2015-09-24 17:44
超酷小子
阅读(2622)
推荐(0)
namespace的用法
摘要:C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用...
阅读全文
posted @
2015-09-17 15:52
超酷小子
阅读(1156)
推荐(0)
函数参数传递出结果
摘要:最近总是在封装函数的时候,纠结如何往封装函数内带入有用的值,又如何从封装函数带出来必要的内容,在此,关于做了一些基础知识的整合。1.变量将值带入函数的形参 这种情况比较简单,就是将定义好的相应类型的值传递到自己封装的函数内就可以了,在此不必传入地址,或者应用之类的,直接传递真值即可,此处就不过多的...
阅读全文
posted @
2015-09-17 10:14
超酷小子
阅读(862)
推荐(0)
c++中try catch的用法
摘要:在c++中,可以直接抛出异常之后自己进行捕捉处理,如:(这样就可以在任何自己得到不想要的结果的时候进行中断,比如在进行数据库事务操作的时候,如果某一个语句返回SQL_ERROR则直接抛出异常,在catch块中进行事务回滚(回滚怎么理解?))。#include #include using...
阅读全文
posted @
2015-09-11 10:47
超酷小子
阅读(147005)
推荐(10)
C++断言与静态断言
摘要:断言是很早之前就有的东西了,只需要引入cassert头文件即可使用。往往assert被用于检查不可能发生的行为,来确保开发者在调试阶段尽早发现“不可能”事件真的发生了,如果真的发生了,那么就表示代码的逻辑存在问题。最好的一点就是,断言只在Debug中生效,因此对于Release版本是没有效率上的...
阅读全文
posted @
2015-09-11 10:06
超酷小子
阅读(5652)
推荐(0)
Visual C++ 开发心得与调试技巧
摘要:自己平时收集的一些技巧与心得,这里分享出来,普及一下知识。 1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(...
阅读全文
posted @
2015-08-17 14:56
超酷小子
阅读(398)
推荐(0)
WIN32 DLL中使用MFC
摘要:最近用WIN32 DLL,为了方便要用到MFC的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL中使用了MFC,记录一下以防以后用到忘记一、修改预编译头文件(stdafx.h)在stdafx.h文件中添加下面代码,包含一些MFC的头文件,这些可...
阅读全文
posted @
2015-08-17 14:55
超酷小子
阅读(2574)
推荐(0)
c++ 类模版、成员函数模版、函数模版 用法
摘要:C++函数模版与类模版。template void SwapFunction(T &first, T &second){}//函数模版template //类模版class CTemplate{public: void SWap(T &first, T &second){ }};#inc...
阅读全文
posted @
2015-08-17 14:49
超酷小子
阅读(339)
推荐(0)
智能指针(三):unique_ptr使用简介
摘要:我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的au...
阅读全文
posted @
2015-08-17 14:45
超酷小子
阅读(1055)
推荐(0)
智能指针(二):shared_ptr实现原理
摘要:前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元...
阅读全文
posted @
2015-08-17 14:44
超酷小子
阅读(871)
推荐(0)
智能指针(一):STL auto_ptr实现原理
摘要:智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能...
阅读全文
posted @
2015-08-17 14:43
超酷小子
阅读(449)
推荐(0)
字符串中的转义字符与字符串的长度
摘要:提示:(1)计算字符串长度时关键是要注意辨认转义字符;(2)一个转义字符总是以反斜杠开始,再加一个其他字符组成。所以,遇到反斜杠时要特别注意!!!示例:1、不带转义字符的字符串 如:“abc!x=/”,strlen求其长度为 7,但是因为字符串在末尾还有一个终止符‘\0’,因此字符串占8个字节,长...
阅读全文
posted @
2015-08-17 10:41
超酷小子
阅读(7900)
推荐(0)
C和C++混合编译
摘要:关于extern_C 通常,在C语言的头文件中经常可以看到类似下面这种形式的代码:#ifdef __cplusplus extern "C" { #endif /**** some declaration or so *****/ #ifdef __cplusplus...
阅读全文
posted @
2015-08-17 10:39
超酷小子
阅读(1871)
推荐(0)
C++: std::string 与 Unicode 结合
摘要:一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单。基本思想是 TCHAR 要么是char,要么是 wchar_t,这取决于_UNICODE 的值:// abridged from tchar.h #ifdef _UNICODE typedef wchar_t TCHAR; ...
阅读全文
posted @
2015-08-17 10:14
超酷小子
阅读(1886)
推荐(0)