`
mypyg
  • 浏览: 545593 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
这两天写ap,调用了系统动态库中的函数。 按照文档,QLibray,load,resovle,执行都没问题,但是release版本发布时出问题了,只要执行必然内存访问错误崩溃退出。 开始跟踪调试,注释掉QLibrary所有相关的代码,执行ok; 只保留到load,执行ok; 保留到resolve,执行ok; 执行resolve的函数,运行崩溃。于是怀疑是调用时堆栈约定有问题,将函数声明为__stdcall后,问题解决。原来的默认是__cdecl,堆栈被破坏了。 修改后的代码类似下面: typedef HRESULT (__stdcall *aeroEffectCheck)(BOOL *pfEn ...

将窗口嵌入桌面

在试用某些Ap时,发现有些Ap的窗口可以嵌入桌面,这样Win+D键的时候就可以看到,很方便。在网上搜索了一下,原理就是将窗口的父窗口设置成桌面。 这个父窗口在Xp下通过FindWindow("Program manager","progman")找到,但是在win7下这个方法找到的父窗口就不好用了。用spy++看了之后,写了下面一段代码 findDesktopIconWnd(),在xp和win7下都可以找到这个父窗口。子窗口再调用SetParent(child,parent)就可以在桌面上看到了。 static BOOL enumUserWindowsCB ...
自己以前的文章 http://blog.sina.com.cn/s/blog_4919705a0100him8.html

Qt学习笔记

    博客分类:
  • Qt
自己以前的文章。 http://blog.sina.com.cn/s/blog_4919705a0100e45b.html http://blog.sina.com.cn/s/blog_4919705a0100e45r.html http://blog.sina.com.cn/s/blog_4919705a0100e46u.html http://blog.sina.com.cn/s/blog_4919705a0100elwa.html http://blog.sina.com.cn/s/blog_4919705a0100ely4.html
在链接程序时,提示某个动态库中的标号无法找到,但查看标号所在的动态库确实在gcc库搜索路径中,编译命令行中也有了对此动态库的引用。找了半天原因未找到,后来偶尔把LDFLAGS+=的顺序变了一下,程序可以链接通过了,查找原因发现是因为LDFLAGS中的"-Wl,--as-needed"参数引起的,把这个参数去掉后,无论如何改变顺序都可以链接通过了,怀疑是ld在处理标号时,把一些标号丢掉了,这些标号虽然程序没有用到,但是程序调用的动态库用到了,直接就导致了符号无法找到。以后再验证这个猜测。
编辑/etc/udev/rules.d/25-lfs.rules 找到: KERNEL=="ttyUSB[0-9]*" 修改为: KERNEL=="ttyUSB[0-9]*",                 MODE="0666",    GROUP="dialout"
在pc上正常显示的图片浏览程序,在开发板上运行颜色明显失真,怀疑是色深问题。 分析gdk directfb的代码后发现: 在gdkvisual-directfb.c中的函数_gdk_visual_init()中: system_visual赋值不对。 For循环中:if (acc & DFXL_BLIT || formats[i] == dlc.pixelformat) 判断条件导致了system_visual未必是dlc.pixelformat的。 将此句改成: if ((acc & DFXL_BLIT) && (formats[i] == dlc.pixe ...
http://blog.csdn.net/hou_jiong/archive/2009/01/18/3831022.aspx 原创  WebKit研究报告 收藏 目  录 一.Webkit介绍.. 3 二.Webkit编译详解.. 5 1.依赖库及介绍.. 5 2.X11+Gtk+WebKit交叉编译详解.. 7 3.编译出错Q&A:.. 12 三.WebKit分析.. 14 1.体系结构.. 14 2.解析流程.. 16 3.浏览器系统结构.. 17 四.各种浏览器比较分析.. 18 1.网页浏览器列表.. 18 2.浏览参数性能比较.. 20 3. ...
在阅读《嵌入式linux性能详解》时,提到Linux系统中进程栈所使用的物理内存只会增长,不会减少,实际验证了一下,在2.6.22的内核下: 代码如下: #include <stdlib.h> #include <stdio.h> #include <unistd.h> int num = 100; pid_t pid; char cmd_buf[256]; void foo_func() { char foo_buf[1024]; if( num > 0 ) { ...
./configure --prefix=$PREFIX --build=i686-linux --host=mipsel-linux 第一次执行提示: checking for format to printf and scanf a guint64... configure: error: cannot run test program while cross compiling 交叉编译时无法运行测试程序,编辑cachefile,把要检测的变量填进去: echo libIDL_cv_long_long_format=ll > mips.cache 重新config: ./confi ...
首先按照 https://wiki.mozilla.org/Mobile/DFBPorting,在编译directfb时变化下,加上enable-multi支持多application, 把 firefox编译通过,运行的时候总是失败,使用gdb跟踪运行,发现firefox-bin在执行的时候要使用LaunchChild来重新调用自己,execv(firefox-bin)的时候,再次gdk_display_open()时失败。继续跟踪,发现是ioctl dfb设备时直接崩溃掉,进程退出。多次跟踪运行后发现,第一个gdk_display_open()时,/proc/fusion/0创建,但是执行了 ...
编译了一个库,后来打算更改一下安装路径作为系统库 ./configure --prefix=/usr/lib 因为库比较大,又想只是改动了prefix对代码不会又影响,就没有make clean,直接make install了,库安装到了/usr/lib,但是在编译其他使用该库的程序时发现仍然去旧的安装位置寻找库,仔细查找后,发现因为没有make clean,所以库的la文件内容仍然是指向旧位置,导致无法找到要使用的库。再次到库代码目录,删除la文件,再make install,重新生成了la文件,一切正常了。
1.chroot到目标环境。 exit   ;退到root用户下 mount --bind /dev /mnt/lfs/dev mount -vt proc proc /mnt/lfs/proc mount -vt sysfs sysfs /mnt/lfs/sys mount –vt devpts devpts /mnt/lfs/dev/pts mount –vt tmpfs shm /mnt/lfs/dev/shm 切换到目标环境 chroot /mnt/lfs /usr/bin/env ...
From:http://www.chinalinuxpub.com/bbs/showthread.php?t=45475&viewgoodnees=1 现在多数linux发行版默认都使用UTF8编码,如果在xwindows下打开用gb231 2或者gb18030编码保存的文件就会发现文件内容都是乱码 ,解决办法是在自己用户目录下创建.vimrc文件加入 set fileencodings=gb2312,gb18030,utf-8 set termencoding=utf-8 set fileformats=unix set encoding=prc 之后再打开GB2312编码的文件 ...
问题:使用vs2005创建的windows mobile 项目调试,仿真器启动总是启动英文的rom,导致中文字体都无法显示。 解决方法: (一) 右键点击项目-》属性-》配置属性-》部署-》部署设备: 把这个部署设备改为:CHS Windows Mobile 6 Classic Emulator 就可以启动中文rom了。 这些chs开头的都是中文的rom。具体区别可以在microsoft网站上看。 .net compact framework Emulator v3 vs2005 windows mobile 6.1 中文rom都可以从mircrosoft网站上下载 ...
Global site tag (gtag.js) - Google Analytics