c/c++编程
林木江火
这个作者很懒,什么都没留下…
展开
-
总结kmalloc vmalloc malloc calloc recalloc free new delete
linux c/c++开发者,经常会使用动态分配、释放内存的函数如kmalloc vmalloc malloc calloc recalloc free new delete。其中kmalloc和vmalloc是linux内核开发使用的,因为内核开发不能调用标准c库,kmalloc一般用于申请小块内存,对应的虚拟内存和物理内存地址都是连续的,vmalloc用于申请大块内存,返回的虚拟地址是连续的,原创 2015-04-03 12:03:30 · 1011 阅读 · 0 评论 -
ANSI/Unicode 字符集分析
VC6.0默认是ANSI字符集,Visual Studio默认是Unicode字符集,我之前一直使用vc6.0做项目,没有对ANSI/Unicode 字符集编程差异做总结,现在由于项目需要在VS下开发,对于字符串处理有很大的不兼容,例如在VC6.0中可以在CWnd派生类中调用MessageBox("Hello World");弹出“Hello World”对话框,但是同样语句在VS默认都通不过原创 2015-04-03 22:27:37 · 423 阅读 · 0 评论 -
error C2275: 'xxx' : illegal use of this type as an expression
很多时候程序出现莫名其妙的错误提示: error C2275: 'xxx' : illegal use of this type as an expression 这很多时候是标准的C编译器是要求定义必须在程序开头定义造成的,C98标准了,C99也要求,在C++中,这个要求不是很严格,也就是说在程序中也可以定义变量。 (declaration)must转载 2015-04-14 09:39:15 · 654 阅读 · 0 评论 -
ffmpeg解码h264文件
// FfmpegCode.cpp: implementation of the CFfmpegCode class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "smartdev.h" #include "Ffmpe原创 2015-04-15 21:46:11 · 599 阅读 · 0 评论 -
数据类型转换:static_cast,const_cast等用法
* C++提供了四种新的类型强制: static_cast const_cast reinterpret_cast dynamic_cast 1)staic_cast静态强制; 不能在无关的指针之间进行static类型强制 class CAnimal { //... public: CAnimal(){} }; class CGi转载 2015-04-15 14:14:53 · 442 阅读 · 0 评论 -
strtok使用注意事项
strtok函数实际上是要把第一个参数的字符串进行修改的。因为这个原因这个字符串的存储位置就不能是只读的,也就是说不能存放在常量区。在使用char* aa ="abcdefg";这样的方式aa是存放在常量区。不能修改,所以在运行是时候会报只读错误。但是如果用malloc分配空间或者aa[],那么aa是存放在堆空间的(可以修改内容)所以可以使用strtok函数的。原创 2015-04-09 12:56:43 · 477 阅读 · 0 评论