locale问题

    这两天公司又出来个诡异的bug,在德文系统上,所有的UI都不出来了。而且是有时候会跟鬼似的晃一下。照实令人非常奇怪。一开始怀疑是Manifest的问题,检查了半天没有任何结果。

    后来实在不行了,打开PerfHUD一个frame一个frame的去看,发现那些drawPrimitive根本没有效果。睡了一觉起来再调试,发现Renderer里的所有的World Matrix都是奇异的。。。。原来UI的配置文件加载的时候,所有的浮点数都成了0了。

    最后发现配置文件里原来有个Locale项,后来内容删了,但是调用没删除,因为取不到内容就直接获得了一个空字串,产生了一个setlocale("")的调用。而类似于 atof sscanf之类的函数都是受locale影响的(似乎是C99的标准),于是一个暂新的bug又诞生了。 庆祝一下。

 

    PS:今天发现<Geometric Tools for Computer Graphics>的翻译烂人竟然把坐标系的Frame翻译成“帧”,真是“Graphics"多了,都忘记Geometric了。

 

你可能感兴趣的:(locale问题)