首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

函数以及结构语句前的修饰符解决办法

2012-05-27 
函数以及结构语句前的修饰符__asm__ __volatile__(lcall *(%6) \n\t:a(pci_bios.retcode), b(pci_

函数以及结构语句前的修饰符
__asm__ __volatile__(
  "lcall *(%6) \n\t"
  :"=a"(pci_bios.retcode), "=b"(pci_bios.baseaddr), "=c"(pci_bios.length),
  "=d"(pci_bios.entry)
  :"0"(serviceID), "1"(funcsel), "r"(&bios32_dir)
  :"memory"
  );
这里的_asm_ _volatile_()是函数吗?

[解决办法]
不是,
告诉编译器对此行代码不继续重组合并优化
[解决办法]
__asm__表示是汇编
__volatile__表示其中的值可能在此段代码之外被改变,比如是硬件,或者有另外一个任务在用。因此不允许编译器做优化。

热点排行