上一页 1 2 3 4 5 6 ··· 13 下一页
  2012年8月2日
摘要: 上一篇介绍的sqlite3_exec 是使用回调来执行对select结果的操作。还有一个方法可以直接查询而不需要回调。但是,我个人感觉还是回调好,因为代码可以更加整齐,只不过用回调很麻烦,你得声明一个函数,如果这个函数是类成员函数,你还不得不把它声明成static的(要问为什么?这又是C++基础了。C++成员函数实际上隐藏了一个参数:this,C++调用类的成员函数的时候,隐含把类指针当成函数的第一个参数传递进去。结果,这造成跟前面说的sqlite 回调函数的参数不相符。只有当把成员函数声明成static 时,它才没有多余的隐含的this参数)。 虽然回调显得代码整齐,但有时候你还是想要非回调的select 查询。这可以通过sqlite3_get_table 函数做到。 阅读全文
posted @ 2012-08-02 18:58 风行雪舞 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: 打开数据库链接sqlite3_open用法 原型: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 用这个函数开始数据库操作。需要传入两个参数,一是数据库文件名,比如:E:/test.db。文件名不需要一定存在,如果此文件不存在,sqlite会自动建立它。如果它存在,就尝试把它当数据库文件来打开。二是sqlite3**,即前面提到的关键数据结构。这个结构底层细节如何,你不要管它。 函数返回值表示操作是否正确,如果是SQLITE_OK则表示操作正常。相关的返回值sqlite定义了一些宏。具体这些宏的含义可以参考sqlite3.h 文件。里面有详细定义(顺便说一 阅读全文
posted @ 2012-08-02 18:51 风行雪舞 阅读(9722) 评论(0) 推荐(0) 编辑
摘要: 使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器,另一个是用sleep, usleep函数让进程睡眠一段时间,使用alarm定时发出一个信号,还有那就是用gettimeofday, difftime等自己来计算时间间隔,然后时间到了就执行某一任务,但是这种方法效率低,所以不常用。 阅读全文
posted @ 2012-08-02 01:06 风行雪舞 阅读(968) 评论(0) 推荐(0) 编辑
摘要: 定时器是我们需要经常处理的一种资源。那linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器就相当于系统每隔一段时间给进程发一个定时信号,我们所要做的就是定义一个信号处理函数。 阅读全文
posted @ 2012-08-02 00:55 风行雪舞 阅读(992) 评论(0) 推荐(0) 编辑
  2012年6月3日
摘要: 在终端执行 vim /etc/sysconfig/networking/devices/ifcfg-eth0或/etc/sysconfig/network-scripts/ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0(根据情况自己设定) HWADDR=00:0c:29:4a:e8:48(通过右键虚拟网卡查看MAC值) ONBOOT=yes(表示当计算机启动激活网卡设备) BOOTPROTO=none USERCTL=no PEERDNS=no IPV6INIT=no NM_CONTROLLED=yes TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=192.168.221.129 阅读全文
posted @ 2012-06-03 09:53 风行雪舞 阅读(295) 评论(0) 推荐(0) 编辑
  2012年5月28日
摘要: VMware Workstation 最小化默认只能最小化到任务栏, 怎么样才能让它给我们腾出宝贵的任务栏空间, 让它最小化到系统托盘中去呢? Trayconizer 这个小软件能帮我们解决这个问题. 阅读全文
posted @ 2012-05-28 09:34 风行雪舞 阅读(750) 评论(0) 推荐(0) 编辑
  2012年5月16日
摘要: 看到文章标题,你肯定会很奇怪,为什么“别碰鼠标”,离开鼠标还怎么操作电脑?“让键盘飞起来”,键盘怎么会飞呢?你可以保留这些疑问,先跟着我的描述操作一遍,注意操作的过程中记住你都做了哪些动作,以及花费了多长时间。 前提条件:假设你正在写代码,你的双手都放在键盘上。如果你用Win7,请暂时忽略任务栏锁定的软件。 阅读全文
posted @ 2012-05-16 13:42 风行雪舞 阅读(1638) 评论(1) 推荐(0) 编辑
摘要: 每天打开电脑,首先要做的是打开最常用的软件:要和朋友联系,你打开了QQ;要收邮件,你打开了Outlook;要听音乐,你打开了酷狗……但是你不想做机器人,每天重复的打开这些软件,于是你让它们开机启动。恭喜,你有不做机器人的基本思想。这些简单重复的操作扔给电脑吧,你需要把宝贵的精力用来做其他更有价值的事。但是聪明的你有没有想过,日常工作中有没有其他事也可以丢给电脑,让你摆脱机械的操作?下面分享一下我的经验,如果你也有相关的经验,希望也拿出来和大家一起分享! 阅读全文
posted @ 2012-05-16 13:41 风行雪舞 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 本篇有点发牢骚的感觉,呵呵,如果你的工作环境不舒服,就和我一起发发牢骚吧,否则可以略过本篇。 软件开发人员的劳动成果是什么?软件。往细了说,就是代码。代码是如何产生的?是我们经过思考得出的解决问题的方法,然后通过敲击键盘和点击鼠标产生的文件。所以代码只是一种表现形式,最重要的是我们思考问题得出的方法。如何让我们花更多的时间去思考、验证和修正解决问题的方法,而不是纠缠于其他非思考的外部活动,这是本篇文章要讨论的问题。 阅读全文
posted @ 2012-05-16 13:40 风行雪舞 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 引言—— 电脑从发明之初就是为了减轻人的工作量,让电脑代替人来进行运算以及其他更复杂的工作。但是我们每天的工作中,有很多事重复了一遍又一遍,本来应该由电脑处理,我们却不厌其烦的重复着。本来我们应该花更多的时间去思考解决问题的方法,但是却被繁琐的鼠标和键盘操作降低了。《编程珠玑》中说道:“懒惰、傲慢和缺乏耐性”是程序员的三大美德。如果你想懒惰得有水平,那么从今天开始,每天花几分钟提高你的工作效率。摆脱电脑,用更多时间去享受生活吧! 作为软件开发人员,我们每天面对电脑的时间,比面对老婆或女朋友的时间更多。大家有没有想过,当我们坐在电脑前都在做什么,有没有什么是我们做了一遍又一遍的事,有没有什么方法能让我们减少面对电脑,花更多时间去陪老婆或女朋友? 阅读全文
posted @ 2012-05-16 13:39 风行雪舞 阅读(293) 评论(0) 推荐(0) 编辑
摘要: vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。 ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。 阅读全文
posted @ 2012-05-16 13:35 风行雪舞 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 2005年5月,我开始用Vim。此后渐入佳境,原来因版权自律而放弃盗版UltraEdit的遗憾一扫而空。并且,从Vim我才体会到,什么才是真正的编辑利器。在善用佳软或其他论坛发文,我都是先在Vim中输入,并方便高效地编辑好格式,再贴到网上。而我的通讯录、记事、读书笔记、工作记录也是在Vim中完成的。包括一些文档、数据的处理,让Vim过一下,也会提高不少效率。一句话,自用Vim以来,对它迷恋日深,几乎要超过Total Commander。但是,正如善用佳软及论坛发文所提,我大力推荐“用IrfanView/XnView代替ACDSee、用7-zip代替WinRar/WinZip、用GIMP代替PhotoShop”,但并未推荐Vim代替UltraEdit。这并不意味着Vim不能胜任,恰恰相反,如果说IrfanView等替代品比原共享软件还有些差距的话,Vim则远胜UltraEdit。不推荐的唯一原因是,V 阅读全文
posted @ 2012-05-16 13:33 风行雪舞 阅读(388) 评论(0) 推荐(0) 编辑
  2012年5月15日
摘要: 优秀的代码风格如同一身得体的打扮,能够给人以良好的印象。初学程序设计,首先必须建立良好的编程习惯,这其中就包括代码风格。本文就代码风格中的几个重点问题进行了讨论,并在文后给出了一份优秀的代码作为风格模板。代码风格不必花费太多专门的时间研究,在使用中不断模仿模板代码,轻轻松松就能写出“专业的代码”。 阅读全文
posted @ 2012-05-15 21:47 风行雪舞 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 作为软件开发者,我们可以开发低等级的软件,但不能开发低质量的软件。所以,如何实施质量保证,是我们关注的主要问题之一,而编码规范则是实施质量保证的第一步。 编码规范已经成为一个老生常谈的问题,几乎每个项目,每家公司都会定义自己的编码规范。但在真正实施时,却在有意或无意地违背编码规范。程序员,不喜欢改变自己的编程习惯。加之,管理者对质量控制不足,导致编码规范往往形同虚设。有些人会认为:遵守编码规范不能给项目带来利益,也不能让客户看到我们为此付出的努力,其完全是团队自发的行为,没有必要做硬性的要求。还有些人有更好的理由:编码规范会破坏创造性和程序质量。我认为,编码规范,在软件构件以及项目管理中,甚至是个人成长方面,都发挥着重要的作用,好的编码规范是提高我们代码质量的最有效的工具之一。 阅读全文
posted @ 2012-05-15 21:47 风行雪舞 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 基本要求 1.1 程序结构清析,简单易懂,单个函数的程序行数不得超过100行。 1.2 打算干什么,要简单,直接了当,代码精简,避免垃圾程序。 1.3 尽量使用标准库函数和公共函数。 1.4 不要随意定义全局变量,尽量使用局部变量。 1.5 使用括号以避免二义性。 阅读全文
posted @ 2012-05-15 21:44 风行雪舞 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 首先S3C2440内部有三个时钟 FCLK:主频时钟--主要做为芯片的内核时钟 HCLK: 总线时钟--主要是作为LCD,USB,DMA时钟信号 PCLK: 接口时钟--主要是作为串口,GPIO,SPI,ADC等接口时钟信号 2440通过设置引脚OM2和OM3来选择时钟源Fin(外部晶振或外部时钟源),时钟源信号Fin通过2440芯片内部的产生FCLK和HCLK、PCLK时钟信号,这3大时钟信号像动脉一样带动整个芯片的工作。 这三个时钟一般成比例关系,通常设置为1:4:8,1:3:6的分频关系,也就说如果主频FLCK是400MHz,按照1:4:8的设置,那么HLCK是100MHz,PLCK是50MHz。 阅读全文
posted @ 2012-05-15 15:14 风行雪舞 阅读(1125) 评论(0) 推荐(0) 编辑
摘要: 谈到字节序的问题,必然牵涉到两大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存储数据,而x86系列则采用little endian方式存储数据。那么究竟什么是big endian,什么又是little endian呢? 阅读全文
posted @ 2012-05-15 14:24 风行雪舞 阅读(666) 评论(0) 推荐(0) 编辑
  2012年5月14日
摘要: NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 (Block) = xxxx (Pages),1(Page) =528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes,除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码)。 关于OOB区,是每个Page都有的。Page大小是512字节的NAND每页分配16字节的OOB;如果NAND物理上是2K的Page,则每个Page分配64字节的OOB。如下图: 阅读全文
posted @ 2012-05-14 22:03 风行雪舞 阅读(11494) 评论(0) 推荐(1) 编辑
摘要: NAND Flash每一页大小为(512+16)字节(还有其他格式的NANDFlash,比如每页大小为(256+8)、(2048+64)等),其中的512字节就是一般存储数据的区域,16字节称为OOB(Out OfBand)区。通常在OOB区存放坏块标记、前面512字节的ECC较验码等。 阅读全文
posted @ 2012-05-14 21:56 风行雪舞 阅读(1168) 评论(0) 推荐(0) 编辑
  2012年5月12日
摘要: 看《嵌入式linux应用开发》第六章实例中看到个句: adrl r2,men_cfg_val 最初对adr1相当不解,后来发现,那个不是数字1,而是字母l(认真看头部,有点区别的) 这里记录下ADRL的用法: 功能:将相对于程序或相对于寄存器的地址载入寄存器中。 与 ADR 指令相似。ADRL 生成两个数据处理指令,因此它比 ADR 加载的地址范围要宽。 阅读全文
posted @ 2012-05-12 17:43 风行雪舞 阅读(4964) 评论(0) 推荐(1) 编辑
摘要: 汇编程序中以.开头的名称并不是指令的助记符,不会被翻译成机器指令,而是给汇编器一些特殊指示,称为汇编指示(Assembler Directive)或伪操作(Pseudo-operation),由于它不是真正的指令所以加个“伪”字。 _start是一个符号(Symbol),符号在汇编程序中代表一个地址,可以用在指令中,汇编程序经过汇编器的处理之后,所有的符号都被替换成它所代表的地址值。在C语言中我们通过变量名访问一个变量,其实就是读写某个地址的内存单元,我们通过函数名调用一个函数,其实就是跳转到该函数第一条指令所在的地址,所以变量名和函数名都是符号,本质上是代表内存地址的。 阅读全文
posted @ 2012-05-12 17:39 风行雪舞 阅读(703) 评论(0) 推荐(0) 编辑
  2012年5月10日
摘要: 首先说明一下什么是BOM: BOM: Byte Order Mark UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。 我在编译ARM汇编程序时,总是出现Error: bad instruction `'等等错误,经过认真分析,发现代码没有任何问题,应该是编码的问题,因为我平时习惯把所有文件都保存为UTF-8格式以方便在windows和linux之间查看,没有考虑到BOM有无问题,经UE多次更换保存格式后,发现使用UTF-8无BOM才能让编译顺利通过,这才发现UTF-8的BOM对ARM汇编无用,所以平时一般采用UTF-8无BOM格式即可。 阅读全文
posted @ 2012-05-10 14:19 风行雪舞 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 第一部分 Linux下ARM汇编语法 尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作 ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点 (www.gnu.org)上下载有关规范。 一. Linux汇编行结构 任何汇编行都是如下结构: [:] [} @ comment [:] [} @ 注释 Linux ARM 汇编中,任何以冒号结尾的标识符都被认为是一个标号,而不一定非要在一行的开始。 阅读全文
posted @ 2012-05-10 13:39 风行雪舞 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 汇编语言的语句格式如下: {symbol}{instruction/directive/pseud0-instruction}{;comment} symbol:标号/局部标号/常量/变量 instruction:指令 directive:伪操作 pseudo-instruction:伪指令 comment:注释 {}中括号内是可选 阅读全文
posted @ 2012-05-10 13:37 风行雪舞 阅读(1549) 评论(0) 推荐(0) 编辑
摘要: 这个方法用于解决Ubuntu下更换网卡后,新网卡变更为eth1,并且源网卡的名称eth0,无法给新网卡用的情况。也可以用于为网卡更名。 网卡MAC地址改变之后,在Linux中找到网卡,新的网卡会被识别为eth1或者更为靠后的网卡写入到/etc/udev/rules.d/70-persistent-net.rules这个文件中,修改/etc/udev/rules.d/70-persistent-net.rules这个文件,将eth0的MAC地址修改为改变后的地址就可以。 阅读全文
posted @ 2012-05-10 08:07 风行雪舞 阅读(885) 评论(0) 推荐(0) 编辑
  2012年5月9日
摘要: Ubuntu 安装好后默认的是官方的源,这当然是一个有效的源:但其缺点就是一个字--"慢"!!所以我们应该换一个更适合我们的有效源。 源的更换是通过更新系统源列表文件sources.list 实现的:先用命令sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 备份官方的源列表文件[以防我们新配的源不可用,当然自信的你不配分也罢O(∩_∩)O~]。cp 是copy[拷贝] 的缩写,这条命令的作用即把/etc/apt/ 目录下的sources.list 文件拷贝一个备份到当前目录,备份的文件名为sources.list_backup。 阅读全文
posted @ 2012-05-09 21:32 风行雪舞 阅读(580) 评论(0) 推荐(1) 编辑
摘要: Ubuntu 安装好后默认的是官方的源,这当然是一个有效的源:但其缺点就是一个字--"慢"!!所以我们应该换一个更适合我们的有效源。 源的更换是通过更新系统源列表文件sources.list 实现的:先用命令sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup 备份官方的源列表文件[以防我们新配的源不可用,当然自信的你不配分也罢O(∩_∩)O~]。cp 是copy[拷贝] 的缩写,这条命令的作用即把/etc/apt/ 目录下的sources.list 文件拷贝一个备份到当前目录,备份的文件名为sources.list_backup。 阅读全文
posted @ 2012-05-09 21:32 风行雪舞 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 首先设置虚拟机中fedora或ubuntu的网卡属性为自动获取IP和DHCP,然后修改VMware的网络连接为NAT模式,可看到fedora或ubuntu中网卡重新连接,如没有反应,可重复,或是在终端中输入 ifconfig eth* down(*为当前有效网卡号) 然后再 ifconfig eth* up(*为当前有效网卡号) 可在终端中输入ifconfig,查看到当前网址已和主机中的网络连接VMNET8处于同一网段,即可互ping,然后就可以共享主机网络连接上网了 阅读全文
posted @ 2012-05-09 21:16 风行雪舞 阅读(355) 评论(0) 推荐(0) 编辑
摘要: Ubuntu系统本身默认的中文输入法是ibus(Intelligent Input Bus),不过如果是习惯了windows下的QQ输入法,搜狗输入法之类的,基本上都会感到ibus输入法比较难用。这里就介绍一下在ubuntu下和QQ输入法差不多的好用的中文输入法,那个就是fcitx小企鹅输入法。 Fcitx(Free Chinese Input Toy for X)小企鹅输入法,是一个以GPL方式发布的XIM简体中文输入法(原来的G五笔),提供区位和全/简/双拼,支持基于码表输入模块的输入法(五笔、五笔拼音、二笔、仓颉、晚风、冰蟾全息等)。 阅读全文
posted @ 2012-05-09 19:58 风行雪舞 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 好多情况下gedit 在打开windows分区下的文本文件,和下载下来的文本文件时会出乱码的情况,这种情况一般都是由于字符编码的源因,因为linux下缺省情况下是采用 UTF-8的,所以我们最好把GBK,GB2312,之类 的字符编码加上去。步骤是,在终端输入gconf-editor调出gconf-editor(如果没有装,则先安装gconf-editor) 在apps-gedit- 2-preferences->encodings在右边的auto-detected中双击会弹出一个对话框,在那里加入GBK,GB2312,GB18030编码就可以了。 注意,可能还是会不行,这时只要把GBK置顶就可以了 阅读全文
posted @ 2012-05-09 19:45 风行雪舞 阅读(347) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 13 下一页
无觅相关文章插件,快速提升流量