这个应是安装成功了吧
发布
文章写的很好!
最后面那个题出现"重复定义寄存器"的原因就是文章中写到的" 初始化语句模型"中说的(顶层声明中,存在初始化语句是,表示这个声明是定义声明,其他声明是引用声明。C语言的所有文件之中,只能有一个定义声明),上面的那个题"***.h"就是定义声明,个所以在每个.c文件中都引用就会出现"重复定义寄存器"的提示
我想是这样的
还有问题,请到heavenflying.cublog.cn讨论,欢迎探讨程序相关问题
编译是可以通过的,连接时候多个obj文件中的有相同的全局变量定义,就出错了,
你可以在***.h中定义那些全局变量
//b.cppunsigned int abc[][2] ={ 0xA1A1, 0x3000
} ;extern int i = 0;extern int k = 2;
在***.h中声明,如果只是整形不声明也行
//b.h#ifndef __ABC_H_#define __ABC_H_unsigned int abc[][2];#define j 10extern int i;#endif
在其他的cpp文件使用的时候,再声明一下就OK了
//---------- //main.cpp //----------
#include "stdio.h" extern int i; extern unsigned int abc[][2]; void main() { printf("the value of i is : %d\n",i);
printf("the value of k is : %d\n",k); }
最后一段“一个用extern +寄存器了”
该是“应该用extern +寄存器了”吧。
非常好,顶顶顶!!
用户52478 2008-5-8 22:34
用户15710 2007-11-20 18:43
文章写的很好!
最后面那个题出现"重复定义寄存器"的原因就是文章中写到的" 初始化语句模型"中说的(顶层声明中,存在初始化语句是,表示这个声明是定义声明,其他声明是引用声明。C语言的所有文件之中,只能有一个定义声明),上面的那个题"***.h"就是定义声明,个所以在每个.c文件中都引用就会出现"重复定义寄存器"的提示
我想是这样的
用户214262 2007-11-13 15:14
还有问题,请到heavenflying.cublog.cn讨论,欢迎探讨程序相关问题
用户214262 2007-11-13 15:12
编译是可以通过的,连接时候多个obj文件中的有相同的全局变量定义,就出错了,
你可以在***.h中定义那些全局变量
//b.cpp
unsigned int abc[][2] =
{
0xA1A1, 0x3000
} ;
extern int i = 0;
extern int k = 2;
在***.h中声明,如果只是整形不声明也行
//b.h
#ifndef __ABC_H_
#define __ABC_H_
unsigned int abc[][2];
#define j 10
extern int i;
#endif
在其他的cpp文件使用的时候,再声明一下就OK了
//----------
//main.cpp
//----------
#include "stdio.h"
extern int i;
extern unsigned int abc[][2];
void main()
{
printf("the value of i is : %d\n",i);
printf("the value of k is : %d\n",k);
}
用户91490 2007-9-21 11:16
用户518286 2007-9-12 16:15
最后一段“一个用extern +寄存器了”
该是“应该用extern +寄存器了”吧。
用户1161159 2007-8-10 19:22
非常好,顶顶顶!!