作者:fengzi199171 | 来源:互联网 | 2023-05-18 21:07
今天碰见了很灵异的问题,在sqlite3官方下载最新的代码。将代码直接在控制台中编译一个EXE来访问一个数据库。能够正常查询内容,但是将代码放入到动态链接库中编译,那么在调用sqlite3_open的
今天碰见了很灵异的问题,在sqlite3官方下载最新的代码。将代码直接在控制台中编译一个EXE来访问一个数据库。能够正常查询内容,但是将代码放入到动态链接库中编译,那么在调用sqlite3_open的时候会将数据库文件全部0x0 填充。包括自己的sqlite3 的标记也0填充掉了。这是为何?有解决方法吗?
我在动态库中直接导入SQLITE3的代码使用的。而非事先编译静态库OR动态库调用。
-----------
就算编译成静态库应用到自己的动态库中调用也还是会被0x0填充。 自己loadlibrary DLL 还是会被0x0填充。。 。。。怪异。
3 个解决方案
C Run-Time Libraries
http://msdn.microsoft.com/zh-cn/library/abx4dbyh(VS.80).aspx
dll和exe可能使用的不是同一个C run time