- 论坛徽章:
- 0
|
/home/ecos_/ecos_i386/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c: In function ‘amd_lancepci_init’:
/home/ecos_/ecos_i386/ecos-3.0/packages/devs/eth/amd/lancepci/v3_0/src/if_lancepci.c:528: error: lvalue required as left operand of assignment
代码是这样的:
HAL_PCI_CPU_TO_BUS(d, (cyg_uint8 *)b);
这个宏定义:
define HAL_PCI_CPU_TO_BUS(__cpu_addr, __bus_addr) /
CYG_MACRO_START /
(__bus_addr) = CYGARC_PHYSICAL_ADDRESS(__cpu_addr); /
CYG_MACRO_END
这句话展开后就成了:
(cyg_uint8 *)b = CYGARC_PHYSICAL_ADDRESS(d);
强制转换放在等号的左边是不被编译器支持
我查了一下 也有人出这种问题http://blog.csdn.net/easonxiang/article/details/4794297
不过他修改了代码,有什么办法在不修改代码的情况下支持这种情况?
|
|