Board logo

标题: 求助!--DJGPP下全局变量的初始化 [打印本页]

作者: zlz616     时间: 2008-9-17 16:24    标题: 求助!--DJGPP下全局变量的初始化
初次接触DJGPP,以下程序工作正常。

#include <stdio.h>

struct a
{
char l;
int m;
};

int glob;
int glod={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={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
]

作者: zlz616     时间: 2008-9-18 09:44    标题: 没有人知道吗,哪位高手指点一下
没有人知道吗,哪位高手指点一下