VXWORKS全局变量

hefq343 2008-10-30 11:35:46
各位大虾好:
在使用Vxworks编程的时候使用的是多任务编程。有一个比较大的全局结构变量。

我在一个任务中调用了该全局结构变量。然后进入了一个函数调用。在我调用该函数之前全局所有域的值都是正确的,当我进入该函数以后发现该全局变量的某些域的值发生了偏移,不是结构整体的偏移,是在结构体内的某个域开始发生了偏移,但是发现结构中各个指针的位置都是正确的。不知道各位有没有遇到过这样的问题,应该从哪些方面去考虑解决问题。可能的问题出在哪里,恳请回复。。??
...全文
301 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxiaoer 2008-11-19
  • 打赏
  • 举报
回复
全局变量可能会被多个库所引用,导致各自对其字节数对齐的规则不同,你可以把字节数对齐的规则显式地确定,即在结构的前后用#progma push(8)和#progma pop() 显式约定结构体编译时的字节数对齐规则,然后重新编译所有引用了该结构体的库。
margg 2008-11-03
  • 打赏
  • 举报
回复
可能是没有对齐,检查结构体中的字段,长度是否有为奇数的,改为偶数试试

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧