C/C++
Xiamenguoke
这个作者很懒,什么都没留下…
展开
-
数组访问越界问题
最近在练习一个项目的时候经常遇到数组被corrupt的问题,在解决之后都发现是数组的访问越界。现在发现的有两种情况,前越界和后越界。前越界的情况:void DeleteChar(char *Buff){int i = 0;i = strlen(Buff);if (i == 0)................................1{ return;原创 2012-03-30 22:00:09 · 743 阅读 · 0 评论 -
pushButton被hide之后。。(QT编程)
最近在学QT编程,写了个简单的推箱子游戏,debug的过程中一个问题困扰了我很久。。研究了很久,终于发现了原因,但是一些细节的东西还是不知道QT到底是怎么运行的。特记之,以备后续学习重温之用。背景: 实现用方向键控制小人的运动,需要重新实现主窗口的keyPressEvent()函数。问题: 玩第一关通过之后,会把原先存在的一个pushButton->show()出来提示按原创 2012-04-27 00:27:43 · 2810 阅读 · 0 评论 -
内存泄露之 glibc detected错误
一个小小的错误,害我浪费了半天时间。。筒子们,不能用sizeof(结构体指针)啊。虽然我深谙此理,可是还是由于粗心犯下了如此不可饶恕的错误。。定义结构体时是这样的:typedef struct tagOnLineNode{ int nId; int new_fd; struct sockaddr_in ClientAddr;//online client host原创 2012-06-03 15:40:14 · 1595 阅读 · 1 评论 -
static的一种用法
用static定义的变量直接用函数返回值赋值会怎么样呢?我们都知道,static修饰的变量只被赋值一次,如果写成下面的形式:void test(){static int a = fun();}int fun(){printf("heihei\n");return 0;}int main(){while(1){t原创 2012-10-26 20:52:07 · 967 阅读 · 0 评论 -
linux进程状态D
dvr的配置 arm11 500m主频,256m内存,其中一半给了视频解码器。内核和其他的进程也占用了很多的内存,留给qt的可运行内存并不多。后来又把qt browser和qt webkit给移植到dvr上做地图展示。虽然裁剪掉了一部分功能,但是运行起来还是非常的卡,qt界面进程很容易进入状态D。然后卡在那里不动,要好一会儿才能缓冲过来。在网络上了解状态D,是这么说的:申请io资源无法得到满足原创 2013-01-03 11:07:17 · 619 阅读 · 0 评论 -
C调用C++的方法
看了一下别人的文章,自己又整理了一下,贴上示例代码。这是A.h#ifdef __cplusplusextern "C"{#endifint printf_cpp();#ifdef __cplusplus}#endif这是A.cpp#include using namespace std;extern "C"{int printf_cpp(void){原创 2013-07-01 14:30:06 · 789 阅读 · 0 评论 -
ffmpeg在cygwin中的编译与链接
使用从网络上下载一个最新的git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg没有git就百度一下ffmpeg,到官方网页上去下载一个。configure一下:./configure --prefix=${INSTALL_PATH} --disable-yasm --cpu=i686在cygwin中要运行很久,原创 2013-07-01 14:37:14 · 939 阅读 · 0 评论 -
静态库的链接顺序
一个静态库若是调用了另外一个静态库的函数,在编译这个静态库的时候,只是会去找这个函数的声明,不会管这个函数是否有实现。所以在使用这个静态库的时候,得配合它所用的函数所在的静态库一起使用。编译的时候找不到实现不会报错,但是链接的时候如果这个函数没有实现,则会报undefined错误。静态库A源文件int func_A(){func_B_in_lib_B();}此时原创 2013-07-01 14:45:16 · 2729 阅读 · 0 评论