![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 76
ManFred2ManFred
这个作者很懒,什么都没留下…
展开
-
仅通过崩溃地址找出源代码的出错行
作者:老罗原文出处:http://www.luocong.com/articles/show_article.asp?Article_ID=29作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看?……错啦!我相信我的看法是不会有人反对的——那就是,程序发生了崩溃!“该程序执行了非法操作,即将关闭。请与你的软件供应商联系。”,呵呵,这句 M$ 的“名言”,恐怕就转载 2013-02-18 17:23:57 · 316 阅读 · 0 评论 -
深度探索智能指针(SmartPointer)
转载自:http://studoc.blog.51cto.com/1284909/278512主题索引:一、剖析C++标准库智能指针(std::auto_ptr) 1.Do you Smart Pointer? 2.std::auto_ptr的设计原理 3.std::auto_ptr高级使用指南 4.你是否觉得std::aut转载 2013-07-25 17:44:46 · 567 阅读 · 0 评论 -
谈谈explicit关键字
转载自:http://blog.csdn.net/fornormandy/article/details/79512今天看到公司的代码内有大量的explicit关键字,但是老版的MSDN内例子并不完善,实在是不明白,最终从网上一篇文章内找到了答案:原来explicit是为了防止隐式使用拷贝构造函数的.以下附上从新版MSDN中找到的例子和网上那篇文章:// Copy From M转载 2013-07-25 17:47:30 · 455 阅读 · 0 评论 -
将程序移植到64位Windows
作者:Goooder简介:本文对如何将32位Windows程序平滑的支持和过渡到64位Windows操作系统做出了一个简单而系统的介绍。包括对于64位操作系统的版本,编程模型,一些移植原则甚至包括对驱动程序的移植原则的介绍。作者介绍:系统分析员,现在在北京工作。作者的blog:http://goooder.blogchina.com.前言:或许大家还对32位的CPU及操作系统使转载 2013-07-25 17:52:43 · 1129 阅读 · 0 评论 -
VC++ 调用 C#生成DLL的两种方法
转载自:http://blog.csdn.net/suoxd123/article/details/5157668 VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件,而Visual C#生成的DLL不是独立运行的程序,是某个程序的一个部分,只能由所属的程序调用,用户不能也不需要打开它转载 2013-07-25 18:04:23 · 562 阅读 · 0 评论 -
GNU的C++代码书写规范,C语言之父Dennis Ritchie亲自修订
C++ Standard Library Style Guidelines DRAFT 1999-02-26-------------------------------------This library is written to appropriate C++ coding standards. As such,it is intended to precede the转载 2013-07-25 19:16:08 · 787 阅读 · 0 评论 -
VC中Release和Debug版本的区别
转载自:http://blog.csdn.net/wentasy/article/details/7368142区别:一、Debug版本包含调试信息,并且不作任何优化,编译器生成的代码便于程序员调试; Release版本算是发布版本,Release下不能调试,生成的文件更小,编译器生成的程序速度更快。而且Release版本进行了各种优化,使得程序在代码大小转载 2013-08-08 15:05:52 · 599 阅读 · 0 评论 -
汇编指令速查手册
转载自:http://weibing.blogbus.com/logs/3094931.html不知哪位大哥总结的,先借来用一下,免得老是翻书^_^ 附一个汇编的在线学习网站数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1. 通用数据传送指令.MOV转载 2013-08-08 15:19:29 · 582 阅读 · 0 评论 -
64位与32位编程的数据类型区别(C/C++)
转载自:http://blog.csdn.net/harbinzju/article/details/5785024C/C++仅仅定义了这些基本数据类型之间的关系,并没有定义严格定义它们的字长。在不同的平台上,根据编译器不同的实现,它们的字长如下表所示:数据类型LP64ILP64LLP64ILP32转载 2013-08-08 15:59:02 · 575 阅读 · 0 评论 -
字符集编码(GBK,BIG5,UNICODE)与C++的string/wstring
GBK,BIG5等字符集编码范围的具体说明 一 预备知识1,字符:字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是一个字符。“中”“国”这是两个汉字字符。字符仅仅代表一个符号,没有任何实际值的意义。2,字符集:字符集是字符的集合。例如,汉字字符是中国人最先发明的字符,在中文、日文、韩文转载 2013-08-08 16:04:44 · 764 阅读 · 0 评论 -
IDispatch接口原理与应用
目录:IDispatch接口原理与应用目录:前言:IDispatch接口的定义:创建支持IDispatch接口的COM对象:标准方式调用IDispatch接口的方法:采用ATL智能指针类调用IDispatch接口的方法:使用类COleDispatchDriver调用IDispatch的方法: 前言:尽管com接口是跨语言的,但是很多语言在使用com时更多转载 2013-08-08 16:09:14 · 624 阅读 · 0 评论 -
带引用计数的智能指针(模板类)实现的3种方法
转载自:http://www.cppblog.com/playerken/archive/2011/08/10/152990.html1. 非侵入式:static map,key是对象地址,value是counter。2. 非侵入式:构造函数new一个int作为counter,拷贝构造函数和赋值操作符中传递该counter。3. 侵入式:定义一个Count基类自转载 2013-07-25 17:30:21 · 656 阅读 · 0 评论 -
最便捷、最强大、速度最快的C++序列化框架
作者:天狼(http://my.csdn.net/whinah)项目地址:http://code.google.com/p/febird最便捷、最强大、速度最快的C++序列化框架。 特别注意:vc6太古老,不符合C++规范,无法使用该框架1. 高性能,速度非常快,比你能找到的同类产品至少快一个数量级2. 在网络通讯,数据库存储中非常好用。3.转载 2013-07-25 17:03:54 · 844 阅读 · 0 评论 -
Generic Serializer——结构化数据的序列化
By Martin Holzherr, 11 Aug 2000简介MFC中的CObject和CArchive类提供了一些方法供framework进行序列化操作,但是这些方法无法对包含引用关系(cyclic references)的复杂数据结构进行序列化操作,或支持的效果很有限。本文中所描述的GenericSerialize和GenericDeserial翻译 2013-07-25 16:40:20 · 712 阅读 · 0 评论 -
让C++变得更加容易:vector的增长机理
《Dr.Dobb's 软件研发》第6期Andrew Koenig Barbara E. Moo“默认情况下,C++标准库提供了合理的性能”。如果你对“合理的”一词暗含的意思有过好奇,请接着读下去…… 引言 假设我们希望从一个文件中将一串类型为double的值读进一个数据结构中,从而允许我们高效地访问这些值,通常的方法如下: vector values;double x;转载 2013-02-18 17:41:43 · 418 阅读 · 0 评论 -
Linux下C和C++开发基础
作者 阿江 日期 2009-3-23 4:57:00基本编程概念 编程语言:C 、C++ 编译(compile):源文件(.c)->目标文件(.o) 连接(link):目标文件(.o)->可执行文件 库(library):静态连接库(.a)、动态连接库(.so) Linux下开发工具编辑器:vi、emacs、窗口编辑器编译器:GCC调试器:GDB转载 2013-02-21 14:52:46 · 270 阅读 · 0 评论 -
JAVA通过JNI调用本地C语言方法
JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。 JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式)。通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的转载 2013-02-20 18:33:51 · 287 阅读 · 0 评论 -
浮点数值的内存结构
所有的C/C++编译器都是按照IEEE(国际电子电器工程师协会)制定的IEEE 浮点数表示法来进行运算的。这种结构是一种科学表示法,用符号(正或负)、指数和尾数来表示,底数被确定为2,也就是说是把一个浮点数表示为尾数乘以2的指数次方再加上符号。下面来看一下具体的规格: 符号位 指数位 小数部分 指数偏移量单精度浮点数 1 位[31] 8位 [30-23] 23位 [22-00] 127转载 2013-03-08 14:57:33 · 499 阅读 · 0 评论 -
用C++实现HTTP服务器 - 处理完成端口模型(IOCP)的超时问题
如何处理完成端口模型(IOCP)的超时问题.作者: 阙荣文 2011/7/12前言完成端口(IOCP)是所有Windows I/O模型中最复杂,也是性能最好的一种.在关于IOCP的编程中,难点之一就是超时控制.以下以HTTP服务器程序为例说一说.其实超时控制也不是很难,问题是Windows的IOCP模型本身并没有提供关于超时的支持(也行以后的版本会有?),所以转载 2013-07-25 15:19:48 · 1456 阅读 · 0 评论 -
对Visual Studio C++ hash_map严谨一点的测试
在上次测试完成后,有一个网友mm304321141 (明儿)在留言上对测试数据进行了质疑,先谢谢他的指正。 我的确不知道Visual Studio C++ 默认的Dinkumware STLhash_map的hash_compase有两个参数bucket_size 和min_buckets ,我自己实现的时候类是从stdext::hash_compare继承的,忽视了这两个参数,而上次测试的时候更转载 2013-07-25 15:26:19 · 611 阅读 · 0 评论 -
详解C++中的Boost智能指针
这篇文章主要介绍 boost中的智能指针的使用。内存管理是一个比较繁琐的问题,C++中有两个实现方案: 垃圾回收机制和智能指针。垃圾回收机制因为性能等原因不被C++的大佬们推崇, 而智能指针被认为是解决C++内存问题的最优方案。1. 定义一个智能指针就是一个C++的对象, 这对象的行为像一个指针,但是它却可以在其不需要的时候自动删除。注意这个“其不需要的时候”, 这可不是一转载 2013-07-25 17:33:45 · 583 阅读 · 0 评论 -
C/C++中的日期和时间 TIME_T与STRUCT TM转换
转载自:http://www.cnblogs.com/wiseman/archive/2005/10/24/260576.html摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC转载 2013-07-25 17:37:26 · 573 阅读 · 0 评论 -
C++ try_catch throw
转载自:http://laokaddk.blog.51cto.com/368606/2140511、基础介绍try{//程序中抛出异常throw value;}catch(valuetype v){//例外处理程序段}语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。2、深入throw:(i)、程序接转载 2013-07-25 17:58:35 · 600 阅读 · 0 评论 -
内存映射修改大文件
转载自:http://www.vckbase.com/index.php/wv/1527文章概要:本文介绍利用内存映射文件修改大文件: 创建或打开一个文件内核对象,该对象用于标识磁盘上你想用作内存映射文件的文件; 创建一个文件映射内核对象,告诉系统该文件的大小和你打算如何访问该文件; 让系统将文件映射对象的全部或一部分映射到你的进程地址空间中;本文介绍利用内存映射文件修改大转载 2013-07-25 17:40:31 · 631 阅读 · 0 评论 -
C#与C++的互操作
转载自:http://www.cnblogs.com/Jianchidaodi/archive/2009/03/11/1407270.html#1473515C#托管代码与C++非托管代码互相调用一(C#调用C++代码&.net 代码安全)在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不转载 2013-08-08 16:29:55 · 831 阅读 · 0 评论