成功移植SQLite(STM32 .NET MF平台)

2019-12-18 18:45发布

SQLite V2x和V3x比较
项目        V2.8.17        V3.7.15
API接口个数        44        207
源文件个数        44        89
源代码字节数        1.32M        4.0M
Win32 dll库大小        209K        591K
文本编码支持        UTF-8或iso8859        UTF-8、UTF-16
二进制数据(Blob)        不支持        支持
行编号        32字节        64字节
并发性        多读,单写        改良的并发性
.NET Micro Framework的核心代码也不过300K左右,如果支持一个比自己核心还大的多的数据库,真有点小马拉大车的感觉,所以在满足基本功能的基础上(以前我比较担心V2x版本的国际化应用,比如是否支持中文),代码大小是我最关注的。
在Windows平台上对SQLite V2.8.17进行测试后,决定移植V2x版本的SQLite(当然后续不排除再移植3.0版本),移植成功后,release版本的 SQLite的大小大概130K左右。
SQLite V2x和V3x .NET Framework开发
考虑到.NET Micro Framework是.NET框架,所以最初研究的是System.Data.SQLite.dll库,后来发现,一是System.Data.SQLite.dll封装的太过复杂,二是System.Data.SQLite.dll对.NET Framework的框架非常依赖,并且针对不同平台,很难做到直接拷贝就可以使用(必须要安装),三是没有支持SQLite V2x的版本。
所以最后还是决定用Interop的方式直接访问Win32 的 SQLite.dll。网上搜索了一下,有关于SQLite3的相关示例,SQLite V2x的就没有了。所以先研究了一下SQLite3的接口应用,然后根据C++相关的接口定义,反推了一下SQLite V2x的C#接口。
在Windows .NET Framework平台测试SQLite V2x接口(如下图)没有问题的情况下,才开始进行.NET Micro Framework 平台下的SQLite V2x的移植。
sqlite203.JPG (328.47 KB, 下载次数: 5) 下载附件 2013-1-16 12:07 上传

详情,请参见博文:http://blog.csdn.net/yefanqiu/article/details/8508687
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
hwarm
1楼-- · 2019-12-19 00:35
NB 啊                这个也可以
Shaw.Embedi
2楼-- · 2019-12-19 02:32
哇哦,不错,学习学习,赞一个。
tiger5
3楼-- · 2019-12-19 04:02
 精彩回答 2  元偷偷看……
binaimei2007
4楼-- · 2019-12-19 08:21
厉害,想学习一下
yefanqiu
5楼-- · 2019-12-19 10:47
@tiger5  .NET Micro Framework目前已经支持STM32(103和407),代码全部开源,并且没有授权费用。 详情,可以到我的博客去看看,我研究.NET MF已经5年了,http://blog.csdn.net/yefanqiu
Flyback
6楼-- · 2019-12-19 15:04
这也行……

407的资源跑这个感觉比较靠谱

一周热门 更多>