zlz616
新手上路

积分 6
发帖 2
注册 2008-9-17
状态 离线
|
『楼 主』:
求助!--DJGPP下全局变量的初始化
初次接触DJGPP,以下程序工作正常。
#include <stdio.h>
struct a
{
char l;
int m;
};
int glob;
int glod[10]={1,2,3,4,5,6,7,8,9,0};
int *bssp=NULL;
int *datp=&glob;
struct a a={10,11};
int main(void)
{
unsigned char i;
for(i=0;i<10;i++)
printf("%d ",glod);
printf("%x ",datp);
printf("%d %d",a.m,a.l);
return 0;
}
编译成功后运行结果为:
1 2 3 4 5 6 7 8 9 0 dd68 11 10
将数组glob的定义修改为
__attribute__ ((section (".usr"))) int glod[10]={1,2,3,4,5,6,7,8,9,0};
其他不变。编译成功,但执行结果变为:
0 0 0 0 0 0 0 0 0 0 dd68 11 10
也就是说对glod的初始化失效。
之所以指定变量的section属性是本人开发的程序有特殊的功能需求,哪位朋友如能提供帮助,在下不胜感激。
[ Last edited by zlz616 on 2008-9-17 at 04:27 PM ]
|
|