- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 静态库的链接顺序
一个静态库若是调用了另外一个静态库的函数,在编译这个静态库的时候,只是会去找这个函数的声明,不会管这个函数是否有实现。所以在使用这个静态库的时候,得配合它所用的函数所在的静态库一起使用。编译的时候找不到实现不会报错,但是链接的时候如果这个函数没有实现,则会报undefined错误。静态库A源文件int func_A(){func_B_in_lib_B();}此时
2013-07-01 14:45:16 2793
原创 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 958
原创 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 803
原创 qt中使用正则表达式检测ip地址合法性
在网上找了很多,全是这边copy到那边的,而且不能用,很郁闷。在此严重谴责一下那些没有经过验证就发表的代码!后来突然想到我之前做过一个这样的功能,代码如下:bool isIpAddr(const QString &ip){ QRegExp rx2("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]
2013-05-25 17:03:04 4069 1
原创 linux进程状态D的一种产生原因
dvr的配置 arm11 500m主频,256m内存,其中一半给了视频解码器。内核和其他的进程也占用了很多的内存,留给qt的可运行内存并不多。后来又把qt browser和qt webkit给移植到dvr上做地图展示。虽然裁剪掉了一部分功能,但是运行起来还是非常的卡,qt界面进程很容易进入状态D。然后卡在那里不动,要好一会儿才能缓冲过来。在网络上了解状态D,是这么说的:申请io资源无法得到满足
2013-02-26 15:53:41 1364
原创 linux进程状态D
dvr的配置 arm11 500m主频,256m内存,其中一半给了视频解码器。内核和其他的进程也占用了很多的内存,留给qt的可运行内存并不多。后来又把qt browser和qt webkit给移植到dvr上做地图展示。虽然裁剪掉了一部分功能,但是运行起来还是非常的卡,qt界面进程很容易进入状态D。然后卡在那里不动,要好一会儿才能缓冲过来。在网络上了解状态D,是这么说的:申请io资源无法得到满足
2013-01-03 11:07:17 635
原创 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 981
原创 QTimer的销毁问题
这次用QT做项目,做录像回放时,遇到一个很奇怪的问题,录像播放进度条是一个dialog,里面包含了一个定时器,定时器每隔1s会去更新播放的时间,并在遇到时间到达文件的最大时间时,会close本窗口并显示父窗口: if(nCurTime >= nSumTime) //这是定时器 { timer->stop(); f_playback_sto
2012-10-26 17:30:57 10073 5
原创 内存泄露之 glibc detected错误
一个小小的错误,害我浪费了半天时间。。筒子们,不能用sizeof(结构体指针)啊。虽然我深谙此理,可是还是由于粗心犯下了如此不可饶恕的错误。。定义结构体时是这样的:typedef struct tagOnLineNode{ int nId; int new_fd; struct sockaddr_in ClientAddr;//online client host
2012-06-03 15:40:14 1628 1
原创 QT笔记:ambiguous column name:
用qdebug打印出来的lastError代码:QSqlError(1, "Unable to execute statement", "ambiguous column name: class_id")本来的程序代码是:tableModel->setFilter(tr("%1= '%2'")arg(ui->comboBox->currentText()).arg(ui->line
2012-05-13 20:54:01 1271
原创 pushButton被hide之后。。(QT编程)
最近在学QT编程,写了个简单的推箱子游戏,debug的过程中一个问题困扰了我很久。。研究了很久,终于发现了原因,但是一些细节的东西还是不知道QT到底是怎么运行的。特记之,以备后续学习重温之用。背景: 实现用方向键控制小人的运动,需要重新实现主窗口的keyPressEvent()函数。问题: 玩第一关通过之后,会把原先存在的一个pushButton->show()出来提示按
2012-04-27 00:27:43 2846
原创 数组访问越界问题
最近在练习一个项目的时候经常遇到数组被corrupt的问题,在解决之后都发现是数组的访问越界。现在发现的有两种情况,前越界和后越界。前越界的情况:void DeleteChar(char *Buff){int i = 0;i = strlen(Buff);if (i == 0)................................1{ return;
2012-03-30 22:00:09 758
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人