符号的数据大小

Data size of a symbol

本文关键字:数据 符号      更新时间:2023-10-16

使用vxWorks API symFind(),我们可以在知道全局变量名称的情况下获得全局变量的地址。有没有办法知道符号的相应大小?

事实上,搜索到的符号可以是任何类型的,我需要在运行时找到它。所以我基本上不能使用sizeof指令。

这是先验的不可能的,因为当添加符号时,您永远不会指定其大小:symAdd函数只接受SYMTAB_ID、名称、地址、类型ID和组ID。一些预定义的类型ID意味着大小(或者至少意味着足够的信息,您可以检查地址处的数据并推断大小),但其他预定义的类型标识则不然;即使他们所有都这样做了,API仍然无法了解用户定义的类型(因为它只是将它们视为不透明的整数标识符)。