#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include<linux/config.h>
#include<linux/module.h>
#include<linux/version.h>
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/errno.h>
#include<linux/sched.h>//ÉùÃ÷ÖжÏ
#include<linux/fs.h>//ÉùÃ÷fileÎļþ
#include<asm/system.h>/*cli(),*_flages*/
#include<linux/poll.h>
#include<linux/types.h>
#include<linux/slab.h>
#include <asm/arch/S3C2410.h>
#include <asm/hardware.h>//devf
//-------------------------------
#include <asm/io.h>/* ioremap */
#include <linux/delay.h>
#include <asm/delay.h>
//--------------------------------
#include <asm-arm/arch-s3c2410/smdk.h>
#include <linux/ioport.h>
#include <asm/irq.h>
#include <asm/mach/irq.h>
//define the interrupt No.
#define interrupt_k4 IRQ_EINT0
#define interrupt_k3 IRQ_EI ......
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include<linux/config.h>
#include<linux/module.h>
#include<linux/version.h>
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/errno.h>
#include<linux/sched.h>//ÉùÃ÷ÖжÏ
#include<linux/fs.h>//ÉùÃ÷fileÎļþ
#include<asm/system.h>/*cli(),*_flages*/
#include<linux/poll.h>
#include<linux/types.h>
#include<linux/slab.h>
#include <asm/arch/S3C2410.h>
#include <asm/hardware.h>//devf
//-------------------------------
#include <asm/io.h>/* ioremap */
#include <linux/delay.h>
#include <asm/delay.h>
//--------------------------------
#include <asm-arm/arch-s3c2410/smdk.h>
#include <linux/ioport.h>
#include <asm/irq.h>
#include <asm/mach/irq.h>
//define the interrupt No.
#define interrupt_k4 IRQ_EINT0
#define interrupt_k3 IRQ_EI ......
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410µÄrtcÇý¶¯µÄʵÏÖ£¬rtc(real time clock)ʵʱʱÖÓµÄÇý¶¯ÊǸöºÜºÃµÄ
* Àí½âÈç¹û±àдÇý¶¯µÄÓ²¼þ£¬Ëü°üÀ¨ÁË×î»ù±¾µÄÓ²Öжϣ¬ÈíÖжϵĵײã»úÖÆ£»
* s3c2410µÄRTCÇý¶¯µÄʵÏÖ¸öÈËÈÏΪ¸üÊǶÔlinuxÉ豸Çý¶¯Ò»¸öºÜºÃµÄÀý×Ó£¬ËûÊÇͨ¹ý¶þ²ã½á¹¹À´
* ʵÏÖµÄÒ»¸öÇý¶¯£¬ÉϲãÊÇÒ»¸öarm commonµÄ¹«¹²²ã£¬¶ÔÉÏÌṩ±ê×¼µÄͨÓõÄRTC²Ù×÷½Ó¿Ú£¬Ï²ãÓÉ
* ÎÒÃÇÀ´ÊµÏÖÕë¶Ô×Ô¼ºµÄchipºÍ×Ô¼ºÒªÌṩµÄ¹¦ÄÜÀ´ÊµÏÖµÄÒ»²ãÇý¶¯£»
*
* @FileTree:
**********************************************************************************************************
linux-2.6.14.6
|
|--arch
| |
| |--arm
| & ......
----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
* @Description:s3c2410µÄrtcÇý¶¯µÄʵÏÖ£¬rtc(real time clock)ʵʱʱÖÓµÄÇý¶¯ÊǸöºÜºÃµÄ
* Àí½âÈç¹û±àдÇý¶¯µÄÓ²¼þ£¬Ëü°üÀ¨ÁË×î»ù±¾µÄÓ²Öжϣ¬ÈíÖжϵĵײã»úÖÆ£»
* s3c2410µÄRTCÇý¶¯µÄʵÏÖ¸öÈËÈÏΪ¸üÊǶÔlinuxÉ豸Çý¶¯Ò»¸öºÜºÃµÄÀý×Ó£¬ËûÊÇͨ¹ý¶þ²ã½á¹¹À´
* ʵÏÖµÄÒ»¸öÇý¶¯£¬ÉϲãÊÇÒ»¸öarm commonµÄ¹«¹²²ã£¬¶ÔÉÏÌṩ±ê×¼µÄͨÓõÄRTC²Ù×÷½Ó¿Ú£¬Ï²ãÓÉ
* ÎÒÃÇÀ´ÊµÏÖÕë¶Ô×Ô¼ºµÄchipºÍ×Ô¼ºÒªÌṩµÄ¹¦ÄÜÀ´ÊµÏÖµÄÒ»²ãÇý¶¯£»
*
* @FileTree:
**********************************************************************************************************
linux-2.6.14.6
|
|--arch
| |
| |--arm
| & ......
Ò»:ǰÑÔ
I2cÊÇphilipsÌá³öµÄÍâÉè×ÜÏß.I2CÖ»ÓÐÁ½ÌõÏß,Ò»Ìõ´®ÐÐÊý¾ÝÏß:SDA,Ò»ÌõÊÇʱÖÓÏßSCL.ÕýÒòΪÕâÑù,Ëü·½±ãÁ˹¤³ÌÈËÔ±
µÄ²¼Ïß.ÁíÍâ,I2CÊÇÒ»ÖÖ¶àÖ÷»ú¿ØÖÆ×ÜÏß.ËüºÍUSB×ÜÏß²»Í¬,USBÊÇ»ùÓÚmaster-slave»úÖÆ,ÈκÎÉ豸µÄͨÐűØÐëÓÉÖ÷»ú·¢Æð²Å¿ÉÒÔ.¶ø
I2C ÊÇ»ùÓÚmulti master»úÖÆ.һͬ×ÜÏßÉÏ¿ÉÔÊÐí¶à¸ömaster.¹ØÓÚI2CÐÒéµÄ֪ʶ,ÕâÀï²»ÔÙ׸Êö.¿É×ÔÐÐÏÂÔØspecÔĶÁ¼´¿É.
¶þ:I2C¼Ü¹¹¸ÅÊö
ÔÚlinuxÖÐ,I2CÇý¶¯¼Ü¹¹ÈçÏÂËùʾ:
Èç
ÉÏͼËùʾ,ÿһÌõI2C¶ÔÓ¦Ò»¸öadapter.ÔÚkernelÖÐ,ÿһ¸öadapterÌṩÁËÒ»¸öÃèÊöµÄ½á¹¹(struct
i2c_adapter),Ò²¶¨ÒåÁËadapterÖ§³ÖµÄ²Ù×÷(struct i2c_adapter).ÔÙͨ¹ýi2c
core²ã½«i2cÉ豸Óëi2c adapter¹ØÁªÆðÀ´.
Õâ¸öͼֻÊÇÌṩÁËÒ»¸ö´ó¸ÅµÄ¿ò¼Ü.ÔÚÏÂÃæµÄ´úÂë·ÖÎöÖÐ,´ÓÏÂÖÁÉϵÄÀ´·ÖÎöÕâ¸ö¿ò¼Üͼ.ÒÔϵĴúÂë·ÖÎöÊÇ»ùÓÚlinux 2.6.26.·ÖÎöµÄ´úÂë»ù±¾Î»ÓÚ: linux-2.6.26.3/drivers/i2c/λÖÃ.
Èý:adapter×¢²á
ÔÚ
kernelÖÐÌṩÁËÁ½¸öadapter×¢²á½Ó¿Ú,·Ö±ðΪi2c_add_adapter()ºÍ
i2c_add_numbered_adapter().ÓÉÓÚÔÚϵͳÖпÉÄÜ´æÔÚ¶à¸öadapter,ÒòΪ½«Ã¿Ò»ÌõI2C×ÜÏß¶ÔÓ¦Ò»¸ö±àºÅ,ÏÂÎÄÖгÆÎª
I2C×ÜÏߺÅ.Õâ¸ö×ÜÏߺŵÄPCIÖеÄ×ÜÏߺŲ»Í¬.ËüºÍÓ²¼þÎÞ¹Ø,Ö»ÊÇÈí¼þÉÏ ......
Ò»:ǰÑÔ
I2cÊÇphilipsÌá³öµÄÍâÉè×ÜÏß.I2CÖ»ÓÐÁ½ÌõÏß,Ò»Ìõ´®ÐÐÊý¾ÝÏß:SDA,Ò»ÌõÊÇʱÖÓÏßSCL.ÕýÒòΪÕâÑù,Ëü·½±ãÁ˹¤³ÌÈËÔ±
µÄ²¼Ïß.ÁíÍâ,I2CÊÇÒ»ÖÖ¶àÖ÷»ú¿ØÖÆ×ÜÏß.ËüºÍUSB×ÜÏß²»Í¬,USBÊÇ»ùÓÚmaster-slave»úÖÆ,ÈκÎÉ豸µÄͨÐűØÐëÓÉÖ÷»ú·¢Æð²Å¿ÉÒÔ.¶ø
I2C ÊÇ»ùÓÚmulti master»úÖÆ.һͬ×ÜÏßÉÏ¿ÉÔÊÐí¶à¸ömaster.¹ØÓÚI2CÐÒéµÄ֪ʶ,ÕâÀï²»ÔÙ׸Êö.¿É×ÔÐÐÏÂÔØspecÔĶÁ¼´¿É.
¶þ:I2C¼Ü¹¹¸ÅÊö
ÔÚlinuxÖÐ,I2CÇý¶¯¼Ü¹¹ÈçÏÂËùʾ:
Èç
ÉÏͼËùʾ,ÿһÌõI2C¶ÔÓ¦Ò»¸öadapter.ÔÚkernelÖÐ,ÿһ¸öadapterÌṩÁËÒ»¸öÃèÊöµÄ½á¹¹(struct
i2c_adapter),Ò²¶¨ÒåÁËadapterÖ§³ÖµÄ²Ù×÷(struct i2c_adapter).ÔÙͨ¹ýi2c
core²ã½«i2cÉ豸Óëi2c adapter¹ØÁªÆðÀ´.
Õâ¸öͼֻÊÇÌṩÁËÒ»¸ö´ó¸ÅµÄ¿ò¼Ü.ÔÚÏÂÃæµÄ´úÂë·ÖÎöÖÐ,´ÓÏÂÖÁÉϵÄÀ´·ÖÎöÕâ¸ö¿ò¼Üͼ.ÒÔϵĴúÂë·ÖÎöÊÇ»ùÓÚlinux 2.6.26.·ÖÎöµÄ´úÂë»ù±¾Î»ÓÚ: linux-2.6.26.3/drivers/i2c/λÖÃ.
Èý:adapter×¢²á
ÔÚ
kernelÖÐÌṩÁËÁ½¸öadapter×¢²á½Ó¿Ú,·Ö±ðΪi2c_add_adapter()ºÍ
i2c_add_numbered_adapter().ÓÉÓÚÔÚϵͳÖпÉÄÜ´æÔÚ¶à¸öadapter,ÒòΪ½«Ã¿Ò»ÌõI2C×ÜÏß¶ÔÓ¦Ò»¸ö±àºÅ,ÏÂÎÄÖгÆÎª
I2C×ÜÏߺÅ.Õâ¸ö×ÜÏߺŵÄPCIÖеÄ×ÜÏߺŲ»Í¬.ËüºÍÓ²¼þÎÞ¹Ø,Ö»ÊÇÈí¼þÉÏ ......
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.OutBufferCount = 0
C++
/****************************************************************/
//´®Ðпڳõʼ»¯
if(m_ctrlComm.GetPortOpen()) //Èç¹û´®¿ÚÒѾ´ò¿ª£¬Ôò¹Ø±Õ¡£
m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(1); //Ñ¡Ôñcom1
if( !m_ctrlComm.GetPortOpen()) ×Ö´®9
m_ctrlComm.SetPortOpen(TRUE); //´ò¿ª´®¿Ú
else
AfxMessageBox("²»ÄÜ´ò¿ª´®Ðпڣ¡");
m_ctrlComm.SetSettings("9600,n,8,1"); //²¨ÌØÂÊ9600£¬ÎÞУÑ飬8¸öÊý¾Ý룬1¸ö ......
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.OutBufferCount = 0
C++
/****************************************************************/
//´®Ðпڳõʼ»¯
if(m_ctrlComm.GetPortOpen()) //Èç¹û´®¿ÚÒѾ´ò¿ª£¬Ôò¹Ø±Õ¡£
m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(1); //Ñ¡Ôñcom1
if( !m_ctrlComm.GetPortOpen()) ×Ö´®9
m_ctrlComm.SetPortOpen(TRUE); //´ò¿ª´®¿Ú
else
AfxMessageBox("²»ÄÜ´ò¿ª´®Ðпڣ¡");
m_ctrlComm.SetSettings("9600,n,8,1"); //²¨ÌØÂÊ9600£¬ÎÞУÑ飬8¸öÊý¾Ý룬1¸ö ......
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.OutBufferCount = 0
C++
/****************************************************************/
//´®Ðпڳõʼ»¯
if(m_ctrlComm.GetPortOpen()) //Èç¹û´®¿ÚÒѾ´ò¿ª£¬Ôò¹Ø±Õ¡£
m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(1); //Ñ¡Ôñcom1
if( !m_ctrlComm.GetPortOpen()) ×Ö´®9
m_ctrlComm.SetPortOpen(TRUE); //´ò¿ª´®¿Ú
else
AfxMessageBox("²»ÄÜ´ò¿ª´®Ðпڣ¡");
m_ctrlComm.SetSettings("9600,n,8,1"); //²¨ÌØÂÊ9600£¬ÎÞУÑ飬8¸öÊý¾Ý룬1¸ö ......
VB
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = i1
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.InBufferCount = 0
MSComm1.InputLen = 0
MSComm1.Settings = "9600,N,8,1"
MSComm1.RThreshold = 1
MSComm1.OutBufferCount = 0
C++
/****************************************************************/
//´®Ðпڳõʼ»¯
if(m_ctrlComm.GetPortOpen()) //Èç¹û´®¿ÚÒѾ´ò¿ª£¬Ôò¹Ø±Õ¡£
m_ctrlComm.SetPortOpen(FALSE);
m_ctrlComm.SetCommPort(1); //Ñ¡Ôñcom1
if( !m_ctrlComm.GetPortOpen()) ×Ö´®9
m_ctrlComm.SetPortOpen(TRUE); //´ò¿ª´®¿Ú
else
AfxMessageBox("²»ÄÜ´ò¿ª´®Ðпڣ¡");
m_ctrlComm.SetSettings("9600,n,8,1"); //²¨ÌØÂÊ9600£¬ÎÞУÑ飬8¸öÊý¾Ý룬1¸ö ......
µ±½ñÓÐÐí¶àÃâ·ÑµÄ RDBMS£¨Relational Database Management
System£¬¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳ£©£¬ÆäÖÐһЩÊÇ¿ª·ÅÔ´ÂëÈí¼þ£¬ÁíһЩÊÇÉÌÒµ³§ÉÌÌṩµÄÃâ·Ñ²úÆ·¡£Èç¹ûÄúÕýÔÚʹÓà C/C++¡¢Java™¡¢.NET
»ò PHP
¿ª·¢Ó¦ÓóÌÐò£¬ÏëѰÕÒÒ»ÖÖ¿É¿¿µÄÊý¾Ý·þÎñÆ÷£¬Ï£ÍûËüÖ§³ÖÏȽøµÄ¼¼Êõ¡¢¾ßÓв»¶ÏÀ©´óµÄ¿ª·¢ÈËÔ±ÉçÇø²¢ÒѾ²¿ÊðÔÚÐí¶à¹Ø¼üµÄÒµÎñ½â¾ö·½°¸ÖУ¬ÄÇô¿ÉÒÔ¿¼ÂDzÉÓÃ
Ð嵀 DB2® Express-C¡£±¾ÎÄÌÖÂÛÈçºÎºÜ¿ìµØ¿ªÊ¼ÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖÐʹÓà DB2
Express-C£¬±¾ÎÄ»¹½«Ìṩһ¸öÕë¶ÔÓ¦ÓóÌÐòÓÅ»¯µÄ×Ô¶¯»¯Óëµ÷Óų¡¾°¡£
ΪʲôҪʹÓà DB2 Express-C£¿
DB2
Express-C »ùÓÚÓë DB2 Universal Database™£¨UDB£© Express Edition V8.2.2
²úÆ·Ò»ÑùµÄºËÐļ¼Êõ¡£Linux® ºÍ Windows® ƽ̨£¨32 λºÍ 64 룩É쵀 DB2 Express-C ¿ÉÒÔ´Ó IBM Ãâ·Ñ ÏÂÔØ
¡£IBM
ÔÚ 2006 Äê 1 Ô 1 ÈÕÍÆ³öÁË DB2 Express-C£¬ÕâÊÇ DB2 Universal Database Express
Edition£¨DB2 Express£©µÄÒ»¸ö°æ±¾¡£ËüΪ C/C++¡¢Java¡¢.NET¡¢PHP
µÈÓ¦ÓóÌÐòµÄ¹¹½¨ºÍ²¿ÊðÌṩÁËÒ»¸öÎȶ¨µÄÊý¾Ý¿â»·¾³¡£
IBM Cloudscape™ ºÍ Express-C ¶¼¿ÉÒÔ´Ó
IBM Ãâ·Ñ»ñµÃ£¬ËüÃǶ¼¿ÉÒÔÓÃÓÚ¿ª·¢ºÍ²¿ÊðÓ¦ÓóÌÐò¡£ÒòΪÕâÁ ......
µ±½ñÓÐÐí¶àÃâ·ÑµÄ RDBMS£¨Relational Database Management
System£¬¹ØÏµÊý¾Ý¿â¹ÜÀíϵͳ£©£¬ÆäÖÐһЩÊÇ¿ª·ÅÔ´ÂëÈí¼þ£¬ÁíһЩÊÇÉÌÒµ³§ÉÌÌṩµÄÃâ·Ñ²úÆ·¡£Èç¹ûÄúÕýÔÚʹÓà C/C++¡¢Java™¡¢.NET
»ò PHP
¿ª·¢Ó¦ÓóÌÐò£¬ÏëѰÕÒÒ»ÖÖ¿É¿¿µÄÊý¾Ý·þÎñÆ÷£¬Ï£ÍûËüÖ§³ÖÏȽøµÄ¼¼Êõ¡¢¾ßÓв»¶ÏÀ©´óµÄ¿ª·¢ÈËÔ±ÉçÇø²¢ÒѾ²¿ÊðÔÚÐí¶à¹Ø¼üµÄÒµÎñ½â¾ö·½°¸ÖУ¬ÄÇô¿ÉÒÔ¿¼ÂDzÉÓÃ
Ð嵀 DB2® Express-C¡£±¾ÎÄÌÖÂÛÈçºÎºÜ¿ìµØ¿ªÊ¼ÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖÐʹÓà DB2
Express-C£¬±¾ÎÄ»¹½«Ìṩһ¸öÕë¶ÔÓ¦ÓóÌÐòÓÅ»¯µÄ×Ô¶¯»¯Óëµ÷Óų¡¾°¡£
ΪʲôҪʹÓà DB2 Express-C£¿
DB2
Express-C »ùÓÚÓë DB2 Universal Database™£¨UDB£© Express Edition V8.2.2
²úÆ·Ò»ÑùµÄºËÐļ¼Êõ¡£Linux® ºÍ Windows® ƽ̨£¨32 λºÍ 64 룩É쵀 DB2 Express-C ¿ÉÒÔ´Ó IBM Ãâ·Ñ ÏÂÔØ
¡£IBM
ÔÚ 2006 Äê 1 Ô 1 ÈÕÍÆ³öÁË DB2 Express-C£¬ÕâÊÇ DB2 Universal Database Express
Edition£¨DB2 Express£©µÄÒ»¸ö°æ±¾¡£ËüΪ C/C++¡¢Java¡¢.NET¡¢PHP
µÈÓ¦ÓóÌÐòµÄ¹¹½¨ºÍ²¿ÊðÌṩÁËÒ»¸öÎȶ¨µÄÊý¾Ý¿â»·¾³¡£
IBM Cloudscape™ ºÍ Express-C ¶¼¿ÉÒÔ´Ó
IBM Ãâ·Ñ»ñµÃ£¬ËüÃǶ¼¿ÉÒÔÓÃÓÚ¿ª·¢ºÍ²¿ÊðÓ¦ÓóÌÐò¡£ÒòΪÕâÁ ......
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâô¶àµÄµ÷Óýӿڣ¬ºËÐĵÄAPIÈÔÈ»Ïà¶Ô¼òµ¥ºÍ±ãÓÚµ÷Óᣱ¾Æ¬ÎÄÕµÄÄ¿µÄ¾ÍÊÇΪÁËÄܹ»¸üÒ×ÓÚÀí½âSQLiteµÄÔË×÷Ìṩ»ù´¡µÄ֪ʶ¡£
Áíһƪ¶ÀÁ¢µÄÎĵµ¡¶The SQLite C/C++ Interface¡·¶ÔSQLiteÖеÄËùÓÐC/C++½Ó¿ÚÌṩÁËÏêϸµÄʹÓÃ˵Ã÷¡£Ò»µ©¶ÁÕßÀí½âÁËSQLiteµÄ»ù±¾²Ù×÷ÔÀí£¬ÕâÆªÎĵµ¾ÍÓ¦µ±×÷Ϊһ±¾²Î¿¼Êֲᡣ±¾ÆªÎÄÕ½ö½öÊÇSQLiteµÄÒ»¸öÈëÃŽéÉÜ£¬¶ø²»ÊÇÍêÕûºÍȨÍþÐÔµÄSQLite API²Î¿¼Ö¸ÄÏ¡£
1.0 ºËÐĶÔÏóºÍ½Ó¿Ú
SQLÊý¾Ý¿âÒýÇæµÄ×îÖ÷ÒªÈÎÎñÊǽâÎöSQLÓï¾ä¡£ÎªÁË´ï³ÉÕâ¸öÄ¿µÄ£¬¿ª·¢ÕßÐèÒªÁ˽âÁ½¸ö¶ÔÏó£º
* Êý¾Ý¿âÁ¬½Ó¶ÔÏó£ºsqlite3
* Ô¤´¦ÀíÓï¾ä¶ÔÏó£ºsqlite3_stmt
ÑϸñÀ´½²£¬Ô¤´¦ÀíÓï¾ä¶ÔÏó²¢²»ÊDZØÐëµÄ£¬ÒòΪÄܹ»Ê¹ÓÃsqlite_exec»òÕßsqlite3_get_tableÕâЩ±ãÓÚʹÓõķâ×°½Ó¿Ú£¬¶øÕâЩ½Ó¿Ú·â×°²¢Òþ²ØÁËÔ¤´¦ÀíÓï¾ä¶ÔÏó¡£¾¡¹ÜÈç´Ë£¬¶ÔÔ¤´¦Àí¶ÔÏóµÄÀí½âÓÐÖúÓÚÎÒÃǸ ......
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâô¶àµÄµ÷Óýӿڣ¬ºËÐĵÄAPIÈÔÈ»Ïà¶Ô¼òµ¥ºÍ±ãÓÚµ÷Óᣱ¾Æ¬ÎÄÕµÄÄ¿µÄ¾ÍÊÇΪÁËÄܹ»¸üÒ×ÓÚÀí½âSQLiteµÄÔË×÷Ìṩ»ù´¡µÄ֪ʶ¡£
Áíһƪ¶ÀÁ¢µÄÎĵµ¡¶The SQLite C/C++ Interface¡·¶ÔSQLiteÖеÄËùÓÐC/C++½Ó¿ÚÌṩÁËÏêϸµÄʹÓÃ˵Ã÷¡£Ò»µ©¶ÁÕßÀí½âÁËSQLiteµÄ»ù±¾²Ù×÷ÔÀí£¬ÕâÆªÎĵµ¾ÍÓ¦µ±×÷Ϊһ±¾²Î¿¼Êֲᡣ±¾ÆªÎÄÕ½ö½öÊÇSQLiteµÄÒ»¸öÈëÃŽéÉÜ£¬¶ø²»ÊÇÍêÕûºÍȨÍþÐÔµÄSQLite API²Î¿¼Ö¸ÄÏ¡£
1.0 ºËÐĶÔÏóºÍ½Ó¿Ú
SQLÊý¾Ý¿âÒýÇæµÄ×îÖ÷ÒªÈÎÎñÊǽâÎöSQLÓï¾ä¡£ÎªÁË´ï³ÉÕâ¸öÄ¿µÄ£¬¿ª·¢ÕßÐèÒªÁ˽âÁ½¸ö¶ÔÏó£º
* Êý¾Ý¿âÁ¬½Ó¶ÔÏó£ºsqlite3
* Ô¤´¦ÀíÓï¾ä¶ÔÏó£ºsqlite3_stmt
ÑϸñÀ´½²£¬Ô¤´¦ÀíÓï¾ä¶ÔÏó²¢²»ÊDZØÐëµÄ£¬ÒòΪÄܹ»Ê¹ÓÃsqlite_exec»òÕßsqlite3_get_tableÕâЩ±ãÓÚʹÓõķâ×°½Ó¿Ú£¬¶øÕâЩ½Ó¿Ú·â×°²¢Òþ²ØÁËÔ¤´¦ÀíÓï¾ä¶ÔÏó¡£¾¡¹ÜÈç´Ë£¬¶ÔÔ¤´¦Àí¶ÔÏóµÄÀí½âÓÐÖúÓÚÎÒÃǸ ......
ÕâÆªÎÄÕÂÊÇʹÓÃSQLite C/C++½Ó¿ÚµÄÒ»¸ö¸ÅÒª½éÉܺÍÈëÃÅÖ¸ÄÏ¡£
ÓÉÓÚÔçÆÚµÄSQLiteÖ»Ö§³Ö5¸öC/C++½Ó¿Ú£¬Òò¶ø·Ç³£ÈÝÒ×ѧϰºÍʹÓ㬵«ÊÇËæ×ÅSQLite¹¦ÄܵÄÔöÇ¿£¬ÐµÄC/C++½Ó¿Ú²»¶ÏµÄÔö¼Ó½øÀ´£¬µ½ÏÖÔÚÓг¬¹ý150¸ö²»Í¬µÄAPI½Ó¿Ú¡£ÕâÍùÍùʹ³õѧÕßÍû¶øÈ´²½¡£ÐÒÔ˵ÄÊÇ£¬´ó¶àÊýSQLiteÖеÄC/C++½Ó¿ÚÊÇרÓõģ¬Òò¶øºÜÉÙ±»Ê¹Óõ½¡£¾¡¹ÜÓÐÕâô¶àµÄµ÷Óýӿڣ¬ºËÐĵÄAPIÈÔÈ»Ïà¶Ô¼òµ¥ºÍ±ãÓÚµ÷Óᣱ¾Æ¬ÎÄÕµÄÄ¿µÄ¾ÍÊÇΪÁËÄܹ»¸üÒ×ÓÚÀí½âSQLiteµÄÔË×÷Ìṩ»ù´¡µÄ֪ʶ¡£
Áíһƪ¶ÀÁ¢µÄÎĵµ¡¶The SQLite C/C++ Interface¡·¶ÔSQLiteÖеÄËùÓÐC/C++½Ó¿ÚÌṩÁËÏêϸµÄʹÓÃ˵Ã÷¡£Ò»µ©¶ÁÕßÀí½âÁËSQLiteµÄ»ù±¾²Ù×÷ÔÀí£¬ÕâÆªÎĵµ¾ÍÓ¦µ±×÷Ϊһ±¾²Î¿¼Êֲᡣ±¾ÆªÎÄÕ½ö½öÊÇSQLiteµÄÒ»¸öÈëÃŽéÉÜ£¬¶ø²»ÊÇÍêÕûºÍȨÍþÐÔµÄSQLite API²Î¿¼Ö¸ÄÏ¡£
1.0 ºËÐĶÔÏóºÍ½Ó¿Ú
SQLÊý¾Ý¿âÒýÇæµÄ×îÖ÷ÒªÈÎÎñÊǽâÎöSQLÓï¾ä¡£ÎªÁË´ï³ÉÕâ¸öÄ¿µÄ£¬¿ª·¢ÕßÐèÒªÁ˽âÁ½¸ö¶ÔÏó£º
* Êý¾Ý¿âÁ¬½Ó¶ÔÏó£ºsqlite3
* Ô¤´¦ÀíÓï¾ä¶ÔÏó£ºsqlite3_stmt
ÑϸñÀ´½²£¬Ô¤´¦ÀíÓï¾ä¶ÔÏó²¢²»ÊDZØÐëµÄ£¬ÒòΪÄܹ»Ê¹ÓÃsqlite_exec»òÕßsqlite3_get_tableÕâЩ±ãÓÚʹÓõķâ×°½Ó¿Ú£¬¶øÕâЩ½Ó¿Ú·â×°²¢Òþ²ØÁËÔ¤´¦ÀíÓï¾ä¶ÔÏó¡£¾¡¹ÜÈç´Ë£¬¶ÔÔ¤´¦Àí¶ÔÏóµÄÀí½âÓÐÖúÓÚÎÒÃǸ ......