arm-elf-gcc编译时如何强制其使用长指针?
我用gcc编译一段代码,
bar(10,100,80,30);
puttextxy("这是测试AA!",10,10,0);
bar,与puttextxy都是在自已的操作系统中输出的函数
但以上代码执行到 puttextxy出错,愿因是第一个参数传的Address不对
第一个参数传给操作系统的是 16位指针即用"%p"打印 = 0x0000966C
用以下代码
char buf[10];
buf[0] = 'T';
buf[1] = 'E';
buf[2] = 'S';
buf[3] = 'T';
buf[4] = '\0';
puttextxy(buf,10,10,0);
可以正常执行,传入操作系统的第一个参数是 32位指针 即打印 "%p" = 0x81008432(注:0x81000000是我ld时指定的起始地址)
由于在C代码中使用字符串常量编译后均会调用操作系统 memcpy
同上传入的都将会是16位指针导致不能正常运行
请问怎么令GCC在对所有指针强制采用32位指针啊,
以前学C语言的far 关键词在gcc中是不能用的.