CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

关于sqlite3.dll调用问题?(希望有人回答!)

楼主natasha_china()2006-01-01 22:36:22 在 VC/MFC / 进程/线程/DLL 提问

我在www.sqlite.org   下载了sqlite3.dll.利用动态加载的方法使用。  
  在C-Free下用C或者C++都能够调用成功,但VC++6.0中总是调用不成功。两种编译器使用的源代码都是一样,不知道是什么原因。VC++6.0下代码如下:编译链接都可以通过,但实际调试运行时会出现下面错误提示:  
  Loaded   'ntdll.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\kernel32.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\Documents   and   Settings\natasha\My   Documents\VC++6.0\Sqlite3\Debug\sqlite3.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\msvcrt.dll',   no   matching   symbolic   information   found.  
  First-chance   exception   in   Sqlite3.exe   (SQLITE3.DLL):   0xC0000005:   Access   Violation.  
  The   program   'C:\DOCUMENTS   AND   SETTINGS\NATASHA\MY   DOCUMENTS\VC++6.0\Sqlite3\Debug\Sqlite3.exe'   has   exited   with   code   0   (0x0).  
  Loaded   'ntdll.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\kernel32.dll',   no   matching   symbolic   information   found.  
  The   program   'C:\DOCUMENTS   AND   SETTINGS\NATASHA\MY   DOCUMENTS\VC++6.0\Sqlite3\Debug\Sqlite3.exe'   has   exited   with   code   0   (0x0).  
  可以生成sqlite3的DB文件,但程序会出错。  
   
  头文件:  
  #ifndef   _SQLITE3_H_  
  #define   _SQLITE3_H_    
  #ifdef   __cplusplus  
  extern   "C"   {  
  #endif    
  //  
  typedef   struct   sqlite3{}   sqlite3;  
  typedef   int   (*   SQLITE3_OPEN)(const   char*,   sqlite3**);  
  typedef   int   (*   SQLITE3_CLOSE)(sqlite3*);  
  //  
  #ifdef   __cplusplus  
  }  
  #endif    
  #endif   /*   _SQLITE3_H_   */  
   
  源文件  
  #include   "stdafx.h"  
  #include   <windows.h>  
  #include   "Sqlite3.h"  
   
  int   main(int   argc,   char*   argv[])  
  {  
  sqlite3   **ppDb=0;  
  HINSTANCE   hDll=::LoadLibrary("sqlite3.dll");  
  if(!hDll)   return   0;  
  SQLITE3_OPEN   lp=(SQLITE3_OPEN)::GetProcAddress(hDll,"sqlite3_open");  
  if(!lp)   return   0;  
  (*lp)("dbname",ppDb);  
  ::FreeLibrary(hDll);  
  return   0;  
  } 问题点数:20、回复次数:1Top

1 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-01-02 11:44:52 得分 0

Loaded   'ntdll.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\kernel32.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\Documents   and   Settings\natasha\My   Documents\VC++6.0\Sqlite3\Debug\sqlite3.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\msvcrt.dll',   no   matching   symbolic   information   found.  
  First-chance   exception   in   Sqlite3.exe   (SQLITE3.DLL):   0xC0000005:   Access   Violation.  
  The   program   'C:\DOCUMENTS   AND   SETTINGS\NATASHA\MY   DOCUMENTS\VC++6.0\Sqlite3\Debug\Sqlite3.exe'   has   exited   with   code   0   (0x0).  
  Loaded   'ntdll.dll',   no   matching   symbolic   information   found.  
  Loaded   'C:\WINDOWS\system32\kernel32.dll',   no   matching   symbolic   information   found.  
  The   program   'C:\DOCUMENTS   AND   SETTINGS\NATASHA\MY   DOCUMENTS\VC++6.0\Sqlite3\Debug\Sqlite3.exe'   has   exited   with   code   0   (0x0).  
   
  提示没有找到匹配的调试符号信息,  
   
   
  First-chance   exception   in   Sqlite3.exe   (SQLITE3.DLL):   0xC0000005:   Access   Violation.说明你的代码中存在着访问违规的问题,请仔细检查有关访问指针的地方。Top

相关问题

  • DLL的调用
  • dll的调用?
  • DLL调用
  • 调用DLL
  • 调用DLL
  • DLL调用
  • How 调用DLL ?
  • dll调用!
  • 调用dll
  • 调用DLL

关键词

  • vc++
  • dll
  • vc
  • debug
  • program
  • code
  • sqlite3
  • 调用
  • natasha
  • vc++6.0

得分解答快速导航

  • 帖主:natasha_china

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo