首页 › 月度存档 › 十二月 2016

CMAKE 中平台判断

CMAKE 中判断当前操作系统平台:

sqlite之我见–C/C++ API接口示例

在之前的两篇博文中,分别介绍了SQLITE的基础知识和操作,C/C++ 的一些常用API
sqlite之我见–简单介绍与基本操作
sqlite之我见–C/C++ API接口介绍 
本文中,我会给大家用几个小程序示例SQLITE C/C++ API的使用。
1.我们看下最简单的sqlite程序,通过sqlite3_open, sqlite3_exec, sqlite3_close来实现一个简单的数据库操作。

继续阅读 »

sqlite之我见–C/C++ API接口介绍

上一篇文章sqlite之我见–简单介绍与基本操作已经初步介绍了sqlite一些基本的知识与简单的操作,这里我们接着介绍最重要的部分,如何将sqlite用到我们的程序中。
1. 概论
sqlite3是为了满足以下需求而开发的
1)支持UTF-16编码
2)用户自定义的文本排序方法
3)可以对BLOBs字段建立索引

NOTE:sqlite3跟之前的版本数据库格式是不兼容的

最简单的程序可以用sqlite3_open(), sqlite3_exec(), sqlite3_close()3个接口来完成。
如果想更好地控制数据库引擎,可以用sqlite3_prepare()来把SQL语句编译成字节码,然后使用sqlite3_step()来执行编译后的字节码。以sqlite3_column_开头的一组API来获取查询结果集中的信息。

接下来我们先介绍一下SQLITE的一些常用API函数:

typedef struct sqlite3 sqlite3; //数据库连接对象
typedef struct sqlite3_stmt sqlite3_stmt; //预处理语句对象

继续阅读 »

sqlite之我见–简单介绍与基本操作

首先,看到此篇文章的人,肯定都对sqlite有所了解了,那些开场白之类的废话就不多写了,下面就简单的介绍sqlite的一些基本知识及简单操作,可能会有错漏的地方,欢迎批评指正,我也会不断学习并完善这篇文章

1.特性
1)ACID事物
2)零配置–无需安装与管理配置
3)储存在单一磁盘文件中的完整的数据库
4)数据库文件可以在不同字节顺序的机器间自由的共享
5)支持数据库文件大小至2TB
6)足够小,大致3w行C代码,250k
7)比一些流行的数据库在大部分普通数据库操作要快
8)简单,轻松的API
9)良好注释的源代码,并且有着90%以上的测试覆盖率
10)包含TCL绑定,可以通过wrapper支持其他语言的绑定
11)独立:没有额外依赖
12)Source完全的open,你可以用于任何用途,甚至出售
13)支持多种开发语言,C,PHP,Perl,JAVA,ASP.NET,Python

继续阅读 »

Crypto++库在VS 2013中的使用 + 基于操作模式AES加密

一.   下载Crypto++ Library

Crypto++ Library的官方网:http://www.cryptopp.com/

二.   建立自己使用的Crypto++ Library

由于从官方网下载的Crypto++库是开源的,只有源文件和几个可以生成lib、dll的工程,以及一个使用的例子工程,因此希望生成自己建的工程能使用的SDK。

1.编译链接生成cryptlib.lib

打开cryptest.sln,分别在Debug模式和Release模式下编译链接cryptlib工程,成功后会在cryptopp54\Win32\output\debug和cryptopp54\Win32\output\release下生成cryptlib.lib文件。作者当时用的是Crypto++ 5.62版本。

Build时方法是,右击Solution Explorer中的cryptlib工程,单击build。第一次时它会报错,没关系,按这样再build一次,就可以build成功了。

继续阅读 »