C/C++
道道道人间道
这个作者很懒,什么都没留下…
展开
-
关于array与&array的区别说明
本文来自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1031622转载说明出处!!!1. 什么是数组类型?下面是C99中原话:An array type describes a contiguously allocated nonempty set of objects with aparticular转载 2013-03-12 12:42:43 · 1156 阅读 · 0 评论 -
How To Use MCI to Play AVI/WAVE Files from Memory
SUMMARYMCI (Media Control Interface) provides a high-level interface to play multimedia files (or "device elements" as defined in MCI). By default, MCI WAVE/AVI drivers (MCIAVI and MCIWAVE) use mm转载 2016-08-05 18:36:38 · 533 阅读 · 0 评论 -
tinyXML使用
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你的工程中,没有STL也可以编译运行。 下面我从这几个方面谈谈对tinyXML类库的使用以及理解。 首先在sourceforge上下载tinyXML类库,地址:h转载 2015-06-09 18:23:54 · 428 阅读 · 0 评论 -
结构体最后的长度为0或1数组的作用
其实很早在看LINUX下就看到这个东西,后来在MFC内存池里同样也看到了类似的东西,还依照MFC写过一个类似的小内存池,(MFC用的是return this + 1)后来在李先静的《系统程序员成长计划》里看到了类似的定义,于是心里想着总结一下,结果发现网上已经有牛人总结的很好了,于是乎就转了过来,谢谢你们的分享,这是我前进的动力!同时,需要引起注意的:ISO/IEC 9899-1999里面转载 2015-05-24 16:56:49 · 2606 阅读 · 0 评论 -
名字修饰约定extern "C"与extern "C++"浅析
原文地址:http://blog.csdn.net/beanjoy/article/details/9136127所谓名字修饰约定,就是指变量名、函数名等经过编译后重新输出名称的规则。 比如源代码中函数名称为int Func(int a,int b),经过编译后名称可能为?Func@@YAHHH@Z、?Func@@YGHHH@Z、_Func@8,也有可能与源代码中名称相同为Fun转载 2015-06-04 10:34:08 · 386 阅读 · 0 评论 -
poppler 心得 windows下的mfc应用和非mfc
poppler基于XPDF是一个免费开源的软件,用于显示PDF文件,应用起来比XPDF要难些poppler现在官网的最新版本为0.15多了,我现在说得是0.12.4这个版本,因为这个版本有windows下的环境编译前面有一篇文章,介绍了poppler的编译,我就不废话了,编译好了以后生成的一个exe文件,其实对于开发者来说作用很小,因为我们是developer, 下面我就来说说po转载 2015-06-18 13:32:16 · 1865 阅读 · 0 评论 -
C++中两个类的头文件互相包含问题
抽象概括下,就是A类定义在A.h中,A类中有个B*成员;B类定义在B.h,B类同样有A*成员 解决办法,就是A类定义前面,加上class B;一行,进行声明,在B类定义前,加上#include“A.h”(交换也是一样)如果在B类前同样加上class A;的话,应该是不行的,经vc6一个程序验证,貌似会出现,类视图里找不到某一个类 这里如果在A.c转载 2014-08-13 21:12:54 · 11863 阅读 · 3 评论 -
VC++常见错误原因解析--error LNK2019: 无法解析的外部符号 "public: void __thiscall
出现这个错误,应该首先查看“#include”语句是否包含,或者是否包含正确。符号无法解析意味着编译器知道有这个符号存在,也就是有声明,但在链接时,找不到实现代码,那么就去看看报错的这个函数有没有实现代码。如果它们的确已经有了,还是出现这个错误,就把它们重新编译一下。根据个人遇到这个错误时的记录,原因可以分为一下几种:原因一:只是在.h里面声明了某个方法,没有在cpp里面实现。具体转载 2014-08-23 21:45:43 · 1946 阅读 · 0 评论 -
链表操作————合并两个链表,并同时删除两链表中的公共元素结点
先看来普通的合并,没有原创 2014-08-02 23:45:50 · 915 阅读 · 0 评论 -
char FAR * h_name中的FAR
FAR 是16位系统时候的概念了,代表远指针的意思。近指针是16位的指针,它只表示段内的偏移地址,因而只能对64k字节数据段内地址进行存取。 如 char near *p; p=(char near *)0xffff; 远指针是32位指针,它表示段地址:偏移地址,如定义远程指针p指向B500段的2号地址,即B500:0002,则可写作:转载 2014-05-27 22:11:50 · 925 阅读 · 0 评论 -
常见DOS命令
1、system("del *.txt"); //删除当前路径下文件后缀名为.txt的所有文件原创 2014-03-04 20:46:59 · 856 阅读 · 0 评论 -
关于pow函数的准确性
对以下代码,分别在DEVC++ 5.4.0、VC6.0、VS2012上执行代码如下:#include#includeusing namespace std;int main(){ int arr[] = {1,2,3,4,5}; int n=0; for(int i=0;i<=2;i++) n += arr[i]*(int)pow(10,2-i); cout<原创 2014-03-15 17:33:40 · 5067 阅读 · 0 评论 -
静态存储区、堆和栈的区别-----以及它们的大小
一、内存基本构成可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效转载 2014-03-09 15:30:20 · 2842 阅读 · 0 评论 -
关于时间函数的部分说明
时间函数 1) clock_t clock(void); clock_t 为长整型,该函数的功能是返回从这个程序开始处到该函数处所需的时间,其单位为ms,要转换成s则需除以1000,或者除以CLOCKS_PER_SEC, 该字符在头文件中宏定义过,带表1000;2) time_t time(time_t * timer); tim原创 2013-03-14 22:18:42 · 730 阅读 · 0 评论 -
fread/fwrite第二个参数和第三个参数的区别以及与返回值的关系
两者是块读写的方式,第二个参数是单个块的大小,第三个参数是块的个数,返回值是实际读写的块的个数,而不是字节数。如果将第三个参数设为1,那么如果fread读到的字节数小于第二个参数,则fread返回值为0。这个问题很容易搞错,并导致很多问题,需要强调的是fread函数返回的并不是字节数。realRead = fread(buf,item,count,fp)转载 2014-02-28 11:11:25 · 4212 阅读 · 0 评论 -
Cout.width()的使用
该函数有两个版本,一个带参数的,一个不带参数的,如下:streamsize width( ) const; streamsize width(streamsize _Wide);第一个函数是获取当前的输出宽度;第二个函数是设置指定的输出宽度,该宽度值必须是有效的:大于0函数的返回值:当前输出宽度当设置第一次设置完输出宽度并输出后,下一次要输出的宽度为原创 2014-03-09 17:02:09 · 14136 阅读 · 0 评论 -
C/C++——C语言格式化输入输出
声明:本文系原创,转载请注明出处。 C语言中的几种格式化输入/输出方式:1. 函数功能: scanf(); //从标准输入设备(控制台键盘)输入 sscanf(); //从字符串缓冲区输入与指定格式相符的数据 fscanf(); //从文件输入 printf(); // 从标准输出设备(显示器)输出 sprintf(); //向字符串缓冲区输出与指定...转载 2018-11-12 15:45:56 · 1574 阅读 · 0 评论