随笔分类 -  C/C++

库函数memcpy()与memmove()实现
摘要:原文:http://www.cppblog.com/zenliang/articles/131782.html根据MSDN文档,当源区域与目标区域存在重叠时,memcpy()函数报错,而memmove()函数可以处理重叠情况!1/*2*函数名:memcpy3*功能:从源source中拷贝n个字节到目标destin中4*用法:void*memcpy(void*destin,constvoid*source,size_tn);5*说明:内存拷贝6*/78#include<stdio.h>9#include<conio.h>//getch头文件10#include<as 阅读全文
posted @ 2012-11-28 19:14 玄冬 阅读(306) 评论(0) 推荐(0)
Valgrind 使用简单说明
摘要:原文:http://hi.baidu.com/timegoneby/item/18faad28a0cafc85af48f59d本文部分参考网上相关资料。Valgrind能做什么? •内存使用检测,包括: –内存泄漏 –非法内存访问 –未初始化变量使用 –重复释放内存 •多线程竞争 –检测死锁 -检测竞争Valgrind还能做什么? •性能分析 –Cachegrind+ cg_annotate 它模拟 CPU中的一级缓存I1,D1和L2二级缓存,能够精确地指出程序中 cache的丢失和命中。如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每个函数,每个... 阅读全文
posted @ 2012-10-18 16:20 玄冬 阅读(270) 评论(0) 推荐(0)
Linux中gdb 查看core堆栈信息
摘要:core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename core filename就是产生core文件的可执行文件,core就是产生的dump文件查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:backtracebt打印当前的函数调用栈的所有信息。如:(gdb) b 阅读全文
posted @ 2012-10-05 00:03 玄冬 阅读(6632) 评论(0) 推荐(1)
Direct3D9基础工具类[原]
摘要:dxManager.hdxManager.hCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1#pragmaonce2#pragmacomment(lib,"d3d9.lib")3#pragmacomment(lib,"d3dx9.lib")45#in... 阅读全文
posted @ 2010-11-16 17:57 玄冬 阅读(408) 评论(0) 推荐(0)