C lib在另一个lib中调用全局变量

时间:2011-09-19 19:57:51

标签: c global-variables

我有两个库,以简化: libA.lib,libB.lib

libA有功能:

void read(num,*val){
*val=Globalval[num];
...
}

libB:

void write(num,val){
Globalval[num]=val;
...
}

这是我想要实现的目标。这两个库包含在我的主项目文件中,并且这些函数是单独调用的。那么我该如何解决这个问题呢?如果这两个库是相同的lib,那么我只需要一个简单的全局变量。

我正在使用微软视觉工作室

2 个答案:

答案 0 :(得分:1)

在其中一个文件中,可能是写一个(libB),这样的东西:

int Globalval[SIZE];

在其头文件中,应该包含在libA中,请输入:

extern int Globalval[];

如果您的示例确实是您正在做的事情,请将两个函数保存在同一个文件中,并从您需要的任何地方调用它们。在这种情况下,您只需将函数原型放在标题中。

答案 1 :(得分:0)

您应该可以使用EXTERN

在你的一个libs头文件中:

extern int g_myGlobal;

在你的一个libs cpp文件中:

int g_myGlobal;

然后,您必须在另一个(或任何其他文件)中包含来自一个lib的头文件,该文件想要使用g_myGlobal