首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥将sqlite3.c增加到工程或者#pragma comment(lib,“sqlite3.lib”)都可是实现对数据库的访问

2012-11-10 
为什么将sqlite3.c增加到工程或者#pragma comment(lib,“sqlite3.lib”)都可是实现对数据库的访问?为什么将s

为什么将sqlite3.c增加到工程或者#pragma comment(lib,“sqlite3.lib”)都可是实现对数据库的访问?
为什么将sqlite3.c增加到工程或者#pragma comment(lib,“sqlite3.lib”)都可是实现对数据库的访问?


我想在C++的代码中加入对sqlite3数据库的插入操作,发现#include "sqlite3.h" 后将sqlite3.c增加到工程可以实现;
或者include "sqlite3.h" #pragma comment(lib,"sqlite3.lib")也可以。


为什么这两种方式都可以呢?分别是什么实现原理?

[解决办法]
1、添加sqlite3.c进行编译,可以直接把sqlite的API函数直接链接进去;
2、#pragma comment(lib,"sqlite3.lib")相当于链接了sqlite3.lib库,编译完之后会去link库中相应的函数实体。
[解决办法]
简单地说,把.c文件加入到你的编译列表内,类似于你自己用.c文件编译了一个.lib文件
当然实现起来是不一样的,但本质上就是这么回事,前者是你自己编译出函数的执行代码,后者是你引用别人编译好的函数执行代码,反正链接的时候都能找到函数的执行代码链接为可执行的程序
[解决办法]

探讨

引用:

1、添加sqlite3.c进行编译,可以直接把sqlite的API函数直接链接进去;
2、#pragma comment(lib,"sqlite3.lib")相当于链接了sqlite3.lib库,编译完之后会去link库中相应的函数实体。

刚发现还有一种方式,就是在VC中这是lib,而在程序中不使用#pragma comment(lib,"sqlite……

热点排行