这两天遇到一个怪事,就是在64位虚拟机上使用asn1c工具编译生成的asn源文件,交叉编译生成静态库,在虚拟机上跑的好好的,但是在arm上跑的时候无法解码,最后查明原因是asn1c的源码需要在32位机上生成,否则就会出现解码失败的情况。其他的情况除了大小端问题,数据类型大小不同的问题,都需要往这个方面想想,并不只是交叉编译的问题。