上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
  2011年12月7日
摘要: SQLite实现了大部分SQL92标准的SQL语句,同时支持ACID。还有其它许多特性这里不做深究,因为这在嵌入式领域来说应该是够用了。下载:下载页面:http://www.sqlite.org/download.html我使用的还是当前最新版本:sqlite-3.3.7.tar.gz(写完的时候已经更新出3.3.8版本了,真快啊……)安装:时间不多,简单介绍安装过程:解压sqlite到uclinux-dist/user/sqlite/============ 对uClinux的修改 ============1. 下载sqlite,解压到uclinux-dist/user/下2. 编辑ucli 阅读全文
posted @ 2011-12-07 01:07 风行雪舞 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 写在前面:出于项目的需要,最近打算对SQLite的内核进行一个完整的剖析,在此希望和对SQLite有兴趣的一起交流。我知道,这是一个漫长的过程,就像曾经去读Linux内核一样,这个过程也将是辛苦的,但我相信结果一定是美好的... ...接下来是第一章。1、SQLite介绍自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系 统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程 中运行,提供了零配置(zero-co 阅读全文
posted @ 2011-12-07 01:06 风行雪舞 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 写在前面:谢谢各位的关注,没想到会有这么多人关注。高兴的同时,也感到压力,因为我接触SQLite也就几天,也没在实际开发中用过,只是最近项 目的需求才来研究它,所以我很担心自己的文章是否会有错误,误导别人。但是我很想把自己的学习成果与大家分享,所以如果大家觉得我有不对的地方,望不吝赐 教。 我原打算直接从VDBE入手的,因为它起着承上启下的作用,是整个SQLite的核心,并分析源码,但考虑到这是一个系列的文章,我希望能把问题说全,所 以还是从基本概念入手,对于初学者,如果没有这些概念,是很继续下去的。好了,下面开始第二章,由于这一章内容很多,我将分两部分讨论,下面开始第一部 分。1、API 由 阅读全文
posted @ 2011-12-07 01:06 风行雪舞 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 写在前面:从本章开始,我们开始进入SQLite的内核。为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很 重要。SQLite的内核实现不是很难,但是也不是很简单。总的来说分为三个部分,本章主要讨论虚拟机(Virtual Machine),但是这里只是从原理上概述,不会太多的涉及实际代码。但是概述完内核之后会仔细讨论源代码的。好了,下面我们来讨论虚拟机(VM)。1、虚拟机(Virtual Machine) VDBE是SQLite的核心,它的上层模块和下层模块都是本质上都是为它服务的。它的实现位于vbde.c, vdbe.h, vdbeapi.c, vdbeInt 阅读全文
posted @ 2011-12-07 01:05 风行雪舞 阅读(285) 评论(0) 推荐(0) 编辑
摘要: SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。开始启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。例如,创建一个包含一个表"tb11"名字为"ex1"的SQLite数据库,你可以这样做:$sqlite3 ex1SQLite 阅读全文
posted @ 2011-12-07 01:04 风行雪舞 阅读(638) 评论(0) 推荐(0) 编辑
摘要: 最近使用sqlite较多,这东西现在是越用越着迷,不管是工作或者个人自娱自乐写东西,只要有数据存储首先就想到了sqlite,我一直对C/S模式的数据存储很反感,记得在知道sqlite之前的很长一段时间里一直用的是xml来存数我的数据,我喜欢将数据存储在单一文件里,我可以随时把数据带在身上,而且它们兼容性够好,拿着数据文件到那里都能用,哪怕是在嵌入式系统里照样玩儿的转…SQLite特性ACID事务零配置 – 无需安装和管理配置储存在单一磁盘文件中的一个完整的数据库数据库文件可以在不同字节顺序的机器间自由的共享支持数据库大小至2TB足够小, 大致3万行C代码, 250K比一些流行的数据库在大部分普 阅读全文
posted @ 2011-12-07 01:03 风行雪舞 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 创建数据库 在cmd下面调用sqlite3.exe,创建数据命令如下: sqlite3 db_name.xx; 数据库名称任意,创建后直接进入数据库;如果文件存在,则直接打开; SQL的指令格式 所有的SQL的指令都是以分号(;)结尾的,为增加可读性,允许一个指令多行编辑,直到遇到分号结束指令; sqlite3中两个减号(--)代表注释,sqlite会忽略。 创建表 键入以下指令即可创建一个tab_name表: create table tab_name (field1, field2, field3...); sqlite3对字段没有严格要求,字段可以存储任何类型数据,它会适时的自动转换,当 阅读全文
posted @ 2011-12-07 01:03 风行雪舞 阅读(215) 评论(0) 推荐(0) 编辑
摘要: bash-2.05b# lscert devm radius rule sqlite3 uibase vpn<SPAN style="COLOR: #ff6600">bash-2.05b# ./sqlite3 rule </SPAN>//启动 进入数据库SQLite version 3.5.4Enter ".help" for instructions<SPAN style="COLOR: #ff6600">sqlite> .tab</SPAN> // 显示数据库中表DomainN 阅读全文
posted @ 2011-12-07 01:02 风行雪舞 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: sqlite3: 一个SQLite数据库的命令行接口原文地址:http://www.sqlite.org/sqlite.htmlSQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。开始启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后 sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。例如,创建一个包含一个表" 阅读全文
posted @ 2011-12-07 01:01 风行雪舞 阅读(310) 评论(0) 推荐(0) 编辑
摘要: sqlite3: 一个SQLite数据库的命令行接口 译者注 原文地址:http://www.sqlite.org/sqlite.html SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。开始 启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。 例如,创建一个包含一 阅读全文
posted @ 2011-12-07 01:00 风行雪舞 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 模块化编程的分层设计经验 和文档管理办法(xwj) xwj 发表于 2006-2-26 23:28:00模块化编程的分层设计经验操作要点: 1、每一层直接对下一层操作,尽量避免交叉调用或越级调用 2、某些器件会把硬件驱动层合并成一个文件时,则归于较高的层 3、相同功能的外部函数尽量一致,尽量保证通用性 4、对于初次编程的模块,要严格保证中间各层的正确性好处: 1、对于后期维护扩展,只需修改应用层和物理层,根据需要扩展功能层 2、一个新项目只需把要用到的文件加入工程,简单修改调试就出来了 3、随着模块的不断积累,新的项目将越来越容易完成,后期的维护扩展也变得非常简单了 4、对于C语言编程,只需简 阅读全文
posted @ 2011-12-07 01:00 风行雪舞 阅读(525) 评论(0) 推荐(0) 编辑
摘要: extern 和static的使用方法,应该属于C语言的基础知识了。可是,在实际工作中,还是经常会在代码里看到关于这两个限定符使用的问题,总结一下,大致有两类:其一,对于模块中的变量或者函数,不了解到底加不加static或者 extern修饰符;其二,在加限定符的时候,不知道正确的使用方法。因此,有必要旧话重提,说明一下。简单的说,记住两句话即可,1 Static表示:被修饰的变量或者函数不可以被本模块以外的其他任何模块使用;而extern恰恰相反,表示同意其被被本模块以外的其他模块使用;2当变量或者程序没有被static或者extern修饰的时候,变量或者函数可以被其他模块使用。这么说可能还 阅读全文
posted @ 2011-12-07 00:59 风行雪舞 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 面向对象是C++的重要特性. 但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重1. const常量,如const int max = 100; 优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)2. const 修饰类的数据成员。如: class A{ const int size; … }const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多.. 阅读全文
posted @ 2011-12-07 00:58 风行雪舞 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一、C语言由源代码生成的各阶段如下:C源程序->编译预处理->编译->优化程序->汇编程序->链接程序->可执行文件 其中编译预处理阶段,读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。或者说是扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程先于编译器对源代码进行处理。 在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预 处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入 阅读全文
posted @ 2011-12-07 00:58 风行雪舞 阅读(296) 评论(0) 推荐(0) 编辑
摘要: #ifdnef,#ifdef,#if的用法简析#ifdnef,#ifdef,#if都是用于防止重复编译的命令。对于处理程序中提供了条件编译的功能。常用的预处理命令介绍如下:一:#include [ **.h] 指定的文件(file)插入到指令所在位置的代码处。通常用于包含头文件,是代码可以利用在别处定义的内容。二:#define [key] [key_value] 制定键(key)的每次出现都用key_value替换。 注意:#define(即宏定义)采用的是“傻瓜式”的替换,因此它往往很危险。在C++中采用const来定义常量,实现了与#define相同的功 能,而且功能要比#define强 阅读全文
posted @ 2011-12-07 00:57 风行雪舞 阅读(458) 评论(0) 推荐(0) 编辑
摘要: sprintf,snprintf的用法(可以作为linux中itoa函数的补充) sprintf() 格式化输出函数(图形)功能: 函数sprintf()用来作格式化的输出。用法: 此函数调用方式为int sprintf(char *string,char *format,arg_list);说 明: 函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组),然后再调用 outtextxy()函数将串里的字符显示在屏幕上。arg_list为参数表,可有不定个数。通常在绘图方式下输出数字时可调用sprintf()函 数将所要输 阅读全文
posted @ 2011-12-07 00:56 风行雪舞 阅读(823) 评论(0) 推荐(0) 编辑
摘要: 今天突然心血来潮装了个Fedora9玩一玩。结果在VM中装完vmtools发现鼠标在登陆界面根本无法使用,进入桌面后定位不准确,GOOGLE一下,找到方法,呵呵,记下来。如下: 由于在装载xorg-x11-drv-vmmouse驱动时的一个bug,在客户虚拟机的显示中,鼠标位置可能不正确。直到被更新前,在客户机中添加Option NoAutoAddDevices到/etc/X11/xorg.conf文件的ServerFlags节中。如果需要,创建这个节:Section "ServerFlags" Option "NoAutoAddDevices"EndS 阅读全文
posted @ 2011-12-07 00:56 风行雪舞 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 在vmware 6 上面安装 fc 9,然后安装vmwaretools 的时候,没有C header files。 What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] 解决方法: 这个问题,需要安装与系统内核配套的开发包。查看内核: uname -r 内核头文件C header files下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=kernel-devel 阅读全文
posted @ 2011-12-07 00:55 风行雪舞 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 问题产生: 安装Fedora 9之后没有什么异常,所有的网卡都能DHCP自动获得IP地址。但是,有次我用系统网络管理工具(system-config- network/NetworkManager)做了一下设置,其实只是修改了一下Hosts。保存重启之后,发现我的所有网卡都没有起来,必须除了 wireless之外,所有的网卡都要手动启动。Firefox默认工作在Offline模式,好像其它的网络程序,如gaim,也不能正常工作。 问题解决: 到网上搜了一下,可能这是网络管理程序的问题,我的解决办法是: 打开网络管理程序,选中一个网卡,双击或编辑,为该网卡选中“Contrlled by Netw 阅读全文
posted @ 2011-12-07 00:53 风行雪舞 阅读(785) 评论(0) 推荐(0) 编辑
摘要: system()函数用于向操作系统传递控制台命令行,以WINDOWS系统为例,通过system()函数执行命令和在DOS窗口中执行命令的效 果是一样的,所以只要在运行窗口中可以使用的命令都可以用SYSTEM()传递,但要注意的是输入斜线时要输入两个,以名C语言当作转义字符处理。 system函数 是可以调用一些DOS命令,比如system("cls");//清屏,等于在DOS上使用cls命令,写可执行文件路径,可以运行它···· 下面列出常用的DOS命令,都可以用system函数调用:ASSOC 显示或修改文件扩展名关联。 AT 计划 阅读全文
posted @ 2011-12-07 00:52 风行雪舞 阅读(1825) 评论(0) 推荐(0) 编辑
摘要: 虽然一直对ubuntu以外的linux并不感兴趣,但是工作需要,还是得研究一下,顺便强化一下自己对于ubuntu认知的正确性。。。工作中用到的fedora需要进行一些设置,首先先记录一下吧,防止以后被忘记1.如何设置fedora 15使其开机进入文本界面?这个问题其他是很古老的书上都有啦,是linux很基础的问题,原始的方法是sudo nano /etc/inittab改变 “:3/5:”就可以了,但如今时代变了,fedora也有了新的改变,虽然我并不了解fedora的systemd是啥创新,但是有改变了解了就好。。sudo rm /etc/systemd/system/default.tar 阅读全文
posted @ 2011-12-07 00:52 风行雪舞 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1.Fedora 15使用root登录gnome首先以用户账号进入终端,允许root账号登陆:$ su$ vi /etc/pam.d/gdm删除其中的一行 auth required pam_succeed_if.souser != root quiet:wq保存并退出。$ vi /etc/pam.d/gdm-password删除其中的一行 auth required pam_succeed_if.souser != root quiet:wq保存并退出。这样就可以使用root进行GUI登陆了。2.Fedora15安装桌面工具Fedora15默认桌面没有图标,需要手工安装gnome-tweak 阅读全文
posted @ 2011-12-07 00:51 风行雪舞 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 第一步:安装VMware Tools时候需要安装perl、gcc和kernel-devel包yum install perl gcc kernel-devel解决这个问题:Detected GCC binary at "/usr/bin/gcc".The path "/usr/bin/gcc" appears to be a valid path to the gcc binary.Would you like to change it? [no]Searching for a valid kernel header path...The path &q 阅读全文
posted @ 2011-12-07 00:51 风行雪舞 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 安装版本:官方网站上下载的32位桌面版1,添加源:(1)添加163源:首先输入打开终端输入su,输入密码,取得管理员权限;其次输入 gedit /etc/yum.repos.d/163.repo,回车再次把一下内容复制到打开的163.repo中:[Fedora-mirrors.163.com] name=Fedora 12 – i386 baseurl=http://mirrors.163.com/fedora/updates/12/i386/ enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Fedora file 阅读全文
posted @ 2011-12-07 00:50 风行雪舞 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、单链表的建立 有了动态内存分配的基础,要实现链表就不难了。 所谓链表,就是用一组任意的存储单元存储线性表元素的一种数据结构。链表又分为单链表、双向链表和循环链表等。我们先讲讲单链表。所谓单链表,是指数据接点是单向排列的。一个单链表结点,其结构类型分为两部分: 1、数据域:用来存储本身数据 2、链域或称为指针域:用来存储下一个结点地址或者说指向其直接后继的指针。 例: typedef struct node { char name[20]; struct node *link; }stud; 这样就定义了一个单链表的结构,其中char name[20]是一个用... 阅读全文
posted @ 2011-12-07 00:21 风行雪舞 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有时需要3 0个大小的数组,有时需要5 0个数组的大小,难于统一。我们只能够根据可能的最大需求来定义数组,常常会造成一定存储空间的浪费。我们希望构造动态的数组,随时可以调整数组的大小,以满足不同问题的需要。链表就是我们需要的动态数组。它是在程序的执行过程中根据需要有数据存储就向系统要求申请存储空间,决不构成对存储区的浪费。链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链 阅读全文
posted @ 2011-12-07 00:19 风行雪舞 阅读(1843) 评论(0) 推荐(0) 编辑
摘要: /*===============================================作者:rerli时间:2003-12-05目的:学习单向链表的创建、删除、 插入(无序、有序)、输出、 排序(选择、插入、冒泡)、反序说明:编译没有任何错误,能生成EXE文件。 这个程序TC2.0中编译生成的EXE文件, 在运行输入节点时出现以下错误(TC2.01中没有任何错误): scanf : floating point formats not linked Abnormal program termination 即:struct student中float score字段在输入时, 它不 阅读全文
posted @ 2011-12-07 00:16 风行雪舞 阅读(429) 评论(0) 推荐(0) 编辑
摘要: /*接着讲(测试编译时,请把相应的函数及测试代码放到上一讲代码的相关地方):排序(选择、插入、冒泡)插入(有序)*//*===============================================作者:rerli时间:2003-12-08目的:学习单向链表的创建、修改、删除、 插入(无序、有序)、输出、 排序(选择、插入、冒泡)、反序说明:编译没有任何错误,能生成EXE文件。 这个程序TC2.0中编译生成的EXE文件, 在运行输入节点时出现以下错误(TC2.01中没有任何错误): scanf : floating point formats not linked Abnorm 阅读全文
posted @ 2011-12-07 00:14 风行雪舞 阅读(288) 评论(0) 推荐(0) 编辑
摘要: /*===============================================作者:rerli时间:2003-12-15目的:重温经典排序思想,并用C语言指针实现排序算法================================================*//*=============================================================================相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):1、稳定排序和非稳定排序简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之 阅读全文
posted @ 2011-12-07 00:13 风行雪舞 阅读(225) 评论(0) 推荐(0) 编辑
摘要: /*===================================================================作者:rerli时间:2003-12-17目的:从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业!====================================================================*//* 简单一道排序题,考倒多少读书人! ——从华为一道面试题浅谈计算机专业在校大学生该如何学习专业课程,信心百倍挑战就业! 大学生早已不是天之骄子,仅仅是一个普通劳动者。网上一句顺口溜“本科生象条 阅读全文
posted @ 2011-12-07 00:12 风行雪舞 阅读(315) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 下一页
无觅相关文章插件,快速提升流量