我是否需要使用extern" C"来包装SQlite调用?在我的C ++应用程序中?

时间:2015-03-09 22:36:23

标签: c++ c sqlite

我是否需要在我的C ++应用程序中包装SQLite(http://www.sqlite.org/)库调用:

extern "C" {    

    //Wrapping SQLite C header
    #include "sqlite3.h" 

    // Some example function definitions
    int sqlite3_open(const char *filename,sqlite3 **ppDb);
    void sqlite3_free(void*);
    int sqlite3_close(sqlite3*);
}

或者我可以直接访问该库(大多数示例在网站上显示)?也很想知道正确答案背后的原因。

1 个答案:

答案 0 :(得分:2)

sqlite3.h已包含extern "C"包装器。来自消息来源:

/*
** Make sure we can call this stuff from C++.
*/
#ifdef __cplusplus
extern "C" {
#endif

…

#ifdef __cplusplus
}  /* end of the 'extern "C"' block */
#endif

因此,您不需要自己包装。