关于multiple defination of (多重定义 )的错误?1、若是在 A.h 中声明和定义一个int mm=3.但若是在B.c 、C.c 和D.c中都包括了A.h(#include "A.h")编译的时候不会有错可是在链接时却会出现许多multiple definati

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 04:23:46
关于multiple defination of (多重定义 )的错误?1、若是在 A.h 中声明和定义一个int mm=3.但若是在B.c 、C.c 和D.c中都包括了A.h(#include

关于multiple defination of (多重定义 )的错误?1、若是在 A.h 中声明和定义一个int mm=3.但若是在B.c 、C.c 和D.c中都包括了A.h(#include "A.h")编译的时候不会有错可是在链接时却会出现许多multiple definati
关于multiple defination of (多重定义 )的错误?
1、若是在 A.h 中声明和定义一个int mm=3.
但若是在B.c 、C.c 和D.c中都包括了A.h(#include "A.h")
编译的时候不会有错可是在链接时却会出现许多multiple defination of (多重定义 )的错误!这是怎么回事呢?如何解决呢?
2、若是在 A.c 中声明和定义一个int mm=3.
但若是B.c 、C.c 和D.c中都extern int mm=3,编译的时候不会有错可是在链接时也会出现许多multiple defination of (多重定义 )的错误!这时候出现的错误和上面的错误应该是一样的吧,如何解决呢?
有可能是和我的编码规范有关吧?一个全局变量的声明 和定义如何写才好呢,以便让其他文件可以方便的使用它?
几个.c文件没有互相包含!

关于multiple defination of (多重定义 )的错误?1、若是在 A.h 中声明和定义一个int mm=3.但若是在B.c 、C.c 和D.c中都包括了A.h(#include "A.h")编译的时候不会有错可是在链接时却会出现许多multiple definati
1.
不要在.h里面声明变量,而是在.c(.cpp)里面定义int mm=3;
然后在A.h里面用extern int mm;
2.
extern不要赋值.
ps:还没解决?
回楼上,没用的,那个能防止重复include,但是不能解决这里的问题.
头文件里面是不提倡也不应该定义一个变量的.
如果熟悉VC的win32程序,就知道那个theApp也是放在cpp文件里的,而不是头文件.