将c / c代码移植到VxWorks的问题
作者:互联网
我需要将已经支持Linux / Mac的c / c代码库移植到VxWorks.我是VxWorks的新手.你能告诉我可能出现的问题吗?
解决方法:
我们最近进行了相反的转换 – 我们将代码从运行VxWorks的PowerPC机器移植到运行Linux的Intel系统.我不记得在操作系统之间的差异方面遇到很多障碍.显然,对OS特定API的任何调用都必须改变,我们没有广泛使用这些函数.
我们最大的问题不是操作系统之间的差异,而是PowerPC和英特尔硬件之间的差异. PowerPC是Big Endian,Intel是Little Endian.我们的软件是用C语言编写的,并且对字节顺序做了许多假设,这是让它再次顺利运行的绝对噩梦.实际上有数百种结构定义了位域,需要重新排序才能正常工作.我们最终在GCC中实现了#pragma,它们在定义时反转了这些位域(#pragma reverse_bitfields).
标签:vxworks,c 来源: https://codeday.me/bug/20190827/1743356.html