我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:百万心水论坛 > 段式存储系统 >

写操作系统时gcc 编译后 变量存储问题? 保护模式段 设置问题?

归档日期:07-21       文本归类:段式存储系统      文章编辑:爱尚语录

  我编译完成后,会把这个elf文件手动拷贝到内存。但运行时对这个字符串变量访问时就出错了。

  所以 请高手指教,gcc变量传递及保护模式下分段编程,如果执行gcc编译的C语言程序,应该如何设置 段寄存器。

  字符串变量存储在代码段中,数据段基址必须从0开始。否则访问出错。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部既然“ds和ss两个必须是同一个数据段。否则访问出错。”那么在运行这样的程序之前有应该设置好啊,还有,推荐C配合汇编编程,有助于保护现场。更多追问追答追问怎么才能随意设置 ds和ss 又保证访问不出错,看来你是不知道的。栈帧中保存的不但有字符串地址,还有值。但函数访问时,从ss段 也就是栈帧中取出地址,这没问题,但取值时却是从ds中取的。所以 ds和ss必须一样。但这是不合理的,怎么能让ss和ds一直是同一个段呢

本文链接:http://maps-enzymes.com/duanshicunchuxitong/868.html