51CTO博客开发
今天编译程序时遇到了一个问题,程序死活提示找不到rpl_malloc符号,网上搜索了一下,有说要把configure.ac中的AC_MALLOC_FUNC去掉的,去掉了还是不行;有说configure时加with-gnu-ld的也不行;有说configure的cache文件修改变量值还是不行。搜索所有的文件内容都没有发现有使用rpl_malloc的地方,知道是malloc被替换的但死活找不到什么时
这两天写ap,调用了系统动态库中的函数。按照文档,QLibray,load,resovle,执行都没问题,但是release版本发布时出问题了,只要执行必然内存访问错误崩溃退出。开始跟踪调试,注释掉QLibrary所有相关的代码,执行ok;只保留到load,执行ok;保留到resolve,执行ok;执行resolve的函数,运行崩溃。于是怀疑是调用时堆栈约定有问题,将函数声明为__stdcall后
这儿用上了前面一文提到的函数findDesktopIconWnd()。见: http://mypyg.blog.51cto.com/820446/263349一、将Qt窗口嵌入到桌面中。声明一个最简单的类:class Dialog : public QDialog{ Q_OBJECTpublic:&nbs
在试用某些Ap时,发现有些Ap的窗口可以嵌入桌面,这样Win+D键的时候就可以看到,很方便。在网上搜索了一下,原理就是将窗口的父窗口设置成桌面。这个父窗口在Xp下通过FindWindow("Program manager","progman")找到,但是在win7下这个方法找到的父窗口就不好用了。用spy++看了之后,写了下面一段代码findDesktopIconWnd(),在xp和win7下都可
自己机器上的插件导入功能坏掉了,遍寻不到解决方案,直接搞了个图形界面的小工具来转好了。源代码见附件。编译好的可以在此地址下载。http://dl.dropbox.com/u/3577927/Pro2Vcproj.zip
经常有程序需要交叉编译,手工写Makefile写的太混乱了,学习用Autotools来生成Makefile方便许多。下面记录了一个mp3播放器简单程序使用Autotools的步骤。播放器支持使用OSS接口,也支持使用ALSA接口来输出声音。1.进入工程目录,执行autoscan,在此目录下生成了configure.scan文件。修改此文件内容,并重新命名为configure.ac。最终的内容如下:
这两天把以前的一个程序从Oss接口改为Alsa接口,按照Alsa的例子将声音输出部分修改后,播放时发出的声音断断续续,并且有很大的杂音。开始以为是Format没有设对,将所有的Format设了一遍仍然不行。将声音转成PCM数据用aplay来播放就没问题,看了aplay的代码发现自己调用snd_pcm_writei有错。原来Oss接口时直接使用write(设备句柄,buffer,data_size)
Windows下编写的QT程序拿到别的机器上运行时总是要打包DLL,编译成静态程序更方便一些。 首先要编译一个静态的Qt库,因为ms的连接器需要.lib库,而qt自带的是.a库,所以要下载代码自己编译了。 编译前先修改一下spec:(下面是对于vs2008,如果是2005,则去找win32-msvc2005) mkspecs ----> win32-msvc2008 -
开发需要测试向服务器传送一些文件,启动apache服务后,可以Get但是PUT提示405.method not allowed。在网上查阅了资料后,修改/etc/httpd/conf/httpd.conf。LoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav_fs.so一般这两行都是存在的。
以root用户执行 modprobe snd-pcm-oss自动加载,在/etc/sysconfig/modules目录创建一个文件:snd-pcm-oss.modules内容如下:#!/bin/shif [ ! -c /dev/dsp ] ; then exec /sbin/modprobe snd-pcm-os
在Windows下调试GUI程序时,打开终端,方便调试,cout的字符流又滚滚而来了。 AllocConsole(); freopen("CONOUT$","w+t",stdout); freopen("CONIN$","r+t",stdin); 最后的时候释放console即可。 Free
1.qmake COFIG增加块定义 qmake "CONFIG += libmode" ....陆续增补
1.窗口整体透明,但是窗体上的控件不透明。 通过设置窗体的背景色来实现,将背景色设置为全透。 QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 试验效果: &
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号