![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
cym64039
这个作者很懒,什么都没留下…
展开
-
几种内存泄露检测工具的比较
概述内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况,在大型的、复杂的应用程序中,内存泄漏是常见的问题。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函数对相同的内存块进行处理时,很可能会出现内存泄漏。内存泄露可以分为以下几类:1. 常发性转载 2013-06-07 17:22:00 · 4596 阅读 · 0 评论 -
Linux守护进程的编程
一. 守护进程及其特性 守护进程最重要的特性是后台运行;其次,守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的;最后,守护进程的启动方式有其特殊之处------它可以在Linux系统启动时从启动脚本/etc/rc.d中启动,可以由作业规划进程cro转载 2013-06-07 17:26:06 · 429 阅读 · 0 评论 -
C/C++内存问题检查利器——Purify
一、 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA—Quality Assessment)占了整个软件工程的30% -50%,但有这么一种说法,即使是最优秀测试专家设计出来的测试案例,也无法彻底地检测到内存上的问题。 使用C/C++开发的团队一定有被其内存问题折磨过的经历,内存问题一直是C/C++开发人员的心头之痛。特别当程序越来越多时,类的转载 2013-06-07 17:31:09 · 1254 阅读 · 0 评论 -
跟我一起写 Makefile
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写mak转载 2013-06-07 17:28:05 · 428 阅读 · 0 评论 -
C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这转载 2013-06-07 17:32:26 · 500 阅读 · 0 评论 -
(socket)如何解除绑定bind
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)转载 2014-01-14 18:58:22 · 12126 阅读 · 0 评论 -
C89和C99标准比较
注: GCC支持C99, 通过 --std=c99 命令行参数开启,如: 代码:gcc --std=c99 test.c -------------------------------------------------------------------------------------------------- 1、增加restrict指针 C99中增加转载 2014-01-28 10:27:31 · 559 阅读 · 0 评论 -
C/C++解析文件路径,获取盘符、路径、文件名及扩展名
函数原型:void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext ); void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext );其中转载 2014-01-19 12:54:46 · 1121 阅读 · 0 评论 -
socket超时setsockopt
linux和windows下用setsockopt设置SO_SNDTIMEO,SO_RCVTIMEO的参数的一点区别 UDP的socket在某些情况:如对方关闭时,本地可能sendto不出去数据,然后recvfrom就会被阻塞,这时就需要设置 这两个参数的值提高程序质量。linux: struct timeval timeout={3,0};//3s int re转载 2014-01-20 11:00:18 · 744 阅读 · 0 评论