在不位于同一目录中的2 c ++文件之间共享变量

时间:2015-03-30 13:58:43

标签: c++ programming-languages

我有两个c ++文件。 一个(AudioSystem.cpp)位于./framework/av/media/libmedia 另一个(AudioFlinger.cpp)位于./framework/av/services/audioflinger

他们共享一个头文件

#include <system/audio.h>

我想创建一个在AudioFlinger.cpp和AudioSystem.cpp之间共享的var。

他们都应该能够修改var值,他们应该看到相同的值。

由于

1 个答案:

答案 0 :(得分:1)

全局变量可以在您的任何AudioFlinger.cpp或AudioSystem.cpp中定义,但是您应该确保在其他cpp文件中声明此变量为extern的语句在例如使用h文件和#include

此外,您可以使用变量定义创建单独的cpp文件,并使用extarn变量声明创建适当的h文件,例如:

   // var.cpp
   int sharedVariable;

   // var.h
   extern int sharedVariable;

现在#include "var.h"所在的任何cpp模块都可以使用sharedVariable