- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 为什么将能被4整除但不能被100整除和能被400整除的年份设为闰年
计算闰年的C程序要写成:if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) printf("%d is a leap year\n", year);else printf("%d is not a leap year\n", year);今天突然好奇,为什么要设置一个不能被100整除这个条件?下面是查来的: 定制
2015-05-29 15:36:08 16817 2
转载 解密随机数生成器
从小就一直很好奇,MP3播放器的随机播放功能是如何实现的,今天读到一篇关于随机数的文章,又勾起了我的那时好奇心,索性上下求索,了解了随机数背后的很多知识,顿觉豁然开朗,特意写这篇文章和大家总结分享一下。其实,随机数在我们身边无处不在。无论是玩扑克牌麻将骰子时的点数,玩LOL时的玩家匹配,还是高大上的量子物理,核聚变,都无一例外地随机数有关,在混沌理论中,这个世界本身就是一系列随机过程的产物——好吧,
2015-05-29 14:53:51 19425 8
原创 为mini2440的Qt程序增加字体并使字体大小可改变
写了一个Qt程序在2440上运行,由于屏幕是3.5寸,显示一个qwt的波形图控件就已经捉襟见肘了,并且默认的文字显得太大,按照网上所述, export QWS_DISPLAY=linuxfb:mmHeight=110:mmWidth=50:0 无论如何修改mmHeight和mmWidth,发现完全没有效果 但export QWS_SIZE=200x300是有效果的,虽然对修改文字大小没什么帮助
2015-05-27 11:04:47 1230
原创 MFC对话框中的工具栏、状态栏设计小结
对网上的资料结合自己的实践的总结,由于大部分都是网上先辈们的经验,这里只是直接将内容拿来,格式优化一下更易读而已。对话框中建立工具栏的方法工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标来表示。当单击某个按钮时,会产生一个相应的消息,对这个消息的处理就是按钮的功能实现。将菜单中常用的功能放置在工具栏中,这样可以方便用户操作,省去了在级联菜单中一层层查找菜单项的麻烦。1、工具栏类CToolB
2015-05-26 14:17:06 10046 1
转载 C99的新特性
C99出来很久了,好像现在还在谈论一个10多年前的标准显得有点过时。不过现实是:关于C99新增的特性,许多用C用了N年的人其实还都不清楚。而在一些能找到的相关文章里面,基本上都是一些对标准的简单翻译,看那种玩意还不如直接去翻标准。所以我主要从自己的使用体验的角度来分享一下我用C99的一些心得。这篇文章并非要做个大而全的C99相对C89的扩展列表,我只挑我自己觉得可能用上或者有必要说的来讨论。另
2015-05-26 12:50:20 802
原创 mini2440开发板运行Qt程序出现Segmentation fault的另一种奇葩原因:Ubuntu下使用FileZilla通过FTP方式传输程序
使用QWT-6.1.2写了一个名为dataplot的小程序,Ubuntu下运行正常,遂交叉编译后传到开发板上,运行,报错:Segmentation fault。主机环境:Ubuntu 12.04 + gcc 4.6.3 + Qt 4.8.1开发环境:arm-linux-gcc 4.4.3 with EABI + QtE 4.6.3 (均为mini2440官方提供) 解决过程
2015-05-20 13:48:11 3200 1
转载 脚本中export不起作用的原因分析
#!bin/bash export PATH=$PATH:/usr/lib/java/jre export PATH=$PATH:/usr/lib/java/bin---path结果发现直接运行./ path 没起到效果, 后来发现原来机制是这样: 类似于局部变量,从当前shell中运行脚本path,是先创建一个子进程shell 然后运行脚本程序,然后子进程退出,返回父进程shel
2015-05-19 11:07:59 1427
原创 使mini2440的Qt程序横屏显示,-qt-gfx-transformed与QWS_DISPLAY
mini2440开发板上已经默认安装了QtE-4.6.3库,如果直接使用,则所有的Qt程序都是默认竖屏显示的,如何横屏显示,也即如何旋转屏幕呢?经过一番折腾,最终找到了方法,现记录下来备忘。第一步:设置环境变量QWS_DISPLAY当应用程序./myQtApp -qws启动时,会去检测QWS_DISPLAY这个环境变量,设置一些显示相关的东西。旋转屏幕就在这里设置,方法是:
2015-05-19 10:36:35 3978
转载 sqlite3在mini2440上的移植——基于ubuntu10.04
sqlite3在mini2440上的移植一、开发环境:Mini2440,linux_2.6.32.2内核,ubuntu10.04,arm-linux-gcc-4.3.2
2015-05-18 16:49:52 609
转载 Ubuntu 12.04 LTS 中文输入法的安装
本文是笔者使用 Ubuntu 操作系统写的第一篇文章!参考了红黑联盟的这篇文章:Ubuntu 12.04中文输入法的安装安装 Ubuntu 12.04 着实费力一番功夫,老是在用 Ubuntu 来引导 Windows,结果 Ubuntu 倒是能用,一进入 Windows 就蓝屏,于是又重装 Windows 好几遍...直到后来认识了 EasyBCD 我才走上正途...我装的是英文版的 Ubuntu
2015-05-18 11:39:05 529
原创 交叉编译qwt控件并在Mini2440开发板上运行(Ubuntu12.04 + QtE4.6.3 + qwt6.1.2)
交叉编译qwt控件并在Mini2440开发板上运行(Ubuntu12.04 + QtE4.6.3 + qwt6.1.2)
2015-05-17 15:11:15 1768 1
原创 Linux下编译并使用Qt第三方图形控件qwt(Ubuntu12.04 + Qt4.8.1 + qwt6.1.2)
Windows下编译运行qwt的方法请参阅博主的另一篇文章: Qt第三方图形控件qwt的编译安装与使用的简单方法(Win7+Qt4.8.6+MinGW4.8.2) 编译环境主机系统: VMWare + Ubuntu 12.04 (32位) 编译器版本: gcc-4.6.3 Qt版本: Qt-4.8.1 + Qt Creator-2.5.0 qwt版本: qwt-6.1.2安装步骤下载qwt
2015-05-17 14:02:40 3613 2
转载 Markdown 语法说明 (简体中文版)
声明: 这份文档派生(fork)于繁体中文版,在此基础上进行了繁体转简体工作,并进行了适当的润色。此文档用 Markdown 语法编写,你可以到这里查看它的源文件。「繁体中文版的原始文件可以查看这里 。」–By @riku注: 本项目托管于 GitCafe上,请通过”派生”和”合并请求”来帮忙改进本项目。
2015-05-16 17:29:18 1357
转载 浅谈 qmake 之 pro、pri、prf、prl文件
尽管每次和cmake对比起来,我们总是说 qmake 简单、功能少。但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧:不是太清楚CONFIG等变量到底如何起作用的用过的qmake内置变量和函数不超过20个看Qt Creator源码或者QtSolution等库中自己使用的 *.pro 文件就想看天书一样本文只能抓住一条线,简单介绍一下 *.pro、*.pri、*.prf、*.prl等
2015-05-16 15:00:31 603
转载 Scribefire发CSDN博客
历史在很久很久以前,CSDN是支持外部工具来写文章的,可是在另一个很久很久以前就不行了。突然看到CSDN有能够用外部工具来写博客了(CSDN的公告),一直以来都纠结这个问题,CSDN的编辑器不好用,不支持Markdown这样的语法,虽然一直用markdownhere来解决。现在,看到可以用Windows Live Write来发文章了,可以我是Linux系统没有Live,怎么办~~~,怎么办~~,
2015-05-16 14:39:01 677
原创 交叉编译Qt应用程序,出现moc: Too many input files specified的问题
某天在Linux下编译了一个主机使用的qwt控件和一个Qt-4.6.3交叉编译版本的qwt控件。为了测试控件在Mini2440上的显示效果,交叉编译了一个使用qwt的温度计控件显示温度的Qt程序,不料却出现编译错误:moc: Too many input files specified,而主机直接编译却完全没问题。试了很久才发现,原来是博主的非主流编译步骤导致的。
2015-05-15 21:46:31 2256
原创 linux内核中,在/drivers/char目录的Kconfig文件中加入自己编写的新驱动,make menuconfig却不显示的问题
linux内核中,在/drivers/char目录的Kconfig文件中加入自己编写的新驱动,make menuconfig却不显示的问题。将设备驱动文件加入内核代码树并编译的步骤。
2015-05-14 22:16:06 3212
原创 Linux下加载.ko驱动模块的两种方法:insmod与modprobe
Linux下加载.ko驱动模块的两种方法:insmod与modprobe
2015-05-14 20:56:38 55773 1
原创 关于Linux下I2C驱动的Probe方式没有自动生成i2c_client且没有自动调用i2c_driver的.probe指向的函数的问题解决
背景项目内容是使用i2c接口的气压传感器SHT21,连接至mini2440上实时采集气压存储至板子上的sqlite数据库并显示一个Qt的界面。同学负责SHT21的驱动编写,博主负责上层应用的开发。开发工具均使用mini2440官方提供的工具,交叉编译器使用gcc4.4.3 with EABI,开发板内核是linux-2.6.32.2版本,主机环境是Ubuntu12.04。
2015-05-14 16:48:46 5718
原创 Qt第三方图形控件qwt的编译安装与使用的简单方法(Win7+Qt4.8.6+MinGW4.8.2)
qwt虽然强大,但是安装和编译还是有些费劲的,网上资料各种奇怪的安装方法都有,但经过博主多方尝试,终于还是发现,根据qwt官方安装文档安装才是最简单省力的。
2015-05-11 13:42:28 6228
原创 MFC对话框美化(文本颜色、字体、背景颜色修改)
MFC默认界面太寒碜我已经无力吐槽了,最近稍微做了一些美化的内容,主要是对话框背景颜色的修改,控件文字大小、字体、颜色的修改,多种配色使得对话框风格活泼不少。修改前后对比图: 代码如下,仅列出需要修改的函数:// VirtualMeterDlg.cpp : 实现文件//BOOL CVirtualMeterDlg::OnInitDialog(){ CDialogEx
2015-05-07 10:22:22 7131
原创 MFC不同工程(解决方案)之间对话框资源的复制与重用方法
项目是一个基于MFC的VS2013工程A,主要实现一个通过GPRS网络接收一个传感器系统采集的数据并存储的功能。最近需要添加一个带有温度计、罗盘等控件的对话框,但由于原程序已经比较完善,而新控件以前并未使用过,怕直接添加会出现莫名的问题,因此先创建一个新工程B,将界面设计好,控件成功运行,然后将工程B的界面与类文件移植到工程A中使用即可。
2015-05-07 09:53:15 6504
原创 MFC创建UI线程并建立包含ProgressCtrl进度条对话框的简单方法
项目中由于一些原因,需要在单独线程中创建一个包含ProgressCtrl进度条的对话框用于显示操作进度,因此想到利用MFC的UI线程来实现。虽然想法简单,但实现起来还是颇费了一番周折,捣鼓了一阵子,算是找到了一个比较简单的创建UI线程的方法,现记录下来。所谓UI线程,无非就是一个比普通Work线程多一个消息循环的线程。再延伸一下,想到MFC的对话框工程自动创建的也应该就是一个UI线程而已。
2015-05-04 10:46:49 4107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人