我对 C 语言比较陌生,并且边走边学。我遇到困难的一件事是跨多个文件共享数据。我已经在字符数组和整数等简单的事情上使用了 extern。但是当涉及到一种类型时,例如使用 MySQL 的实例呢?IE:
main.c:
#include <mysql.h>
#include <my_global.h>
MYSQL *mysql_con;
main.h:
#include <mysql.h>
#include <my_global.h>
extern MYSQL *mysql_con;
我可以通过其他文件使用 mysql_con - 只要我将 mysql.h 和 my_global.h 包含在那些其他文件中,包括头文件(如果我没有将包含在其他文件的头文件中,即函数。 h和functions.c,当我制作函数原型时,由于未知类型,它在编译时傻眼)。
我的问题是:有没有办法在任何要使用 mysql_con 的东西中一遍又一遍地包含相同的标题?我什至不得不在 main.h 中包含 mysql 的标头来声明 extern!有没有更有效的方法来做到这一点?