1
我有一个变量,我打算在多个文件中使用,是一个互斥量初始值设定项。定义在多个源文件中使用的全局变量
于是我在一个头文件中这样写道:
#ifndef LISTEN_H_
#define LISTEN_H_
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
我想包括在女巫我打算用变量的文件的头部。
但我得到:错误互斥体已经在这里声明。
在多个头文件中使用全局变量的正确方法是什么?
然后什么是头后卫的目的..? – 2013-03-01 08:49:15
@ Mr.32包含守卫防止文件被多次包含在同一个翻译单元中 - 即在编译过程中。 – 2013-03-01 08:50:01
@ Mr.32这个错误是由于在不同翻译单元中定义的变量的多个副本 - 在链接阶段。 – 2013-03-01 08:50:45