不要小看长度截断警告,虽然它不会造成运行上的问题,却会给调试带来大麻烦.
例如
1>V:\WorkBench\Boost\boost/multi_index/ordered_index.hpp(566): warning C4503: “boost::foreach_detail_::and_”: 超出修饰名的长度,名称被截断
1> V:\WorkBench\Boost\boost/multi_index/ordered_index.hpp(566): warning C4503: “boost::foreach_detail_::or_”: 超出修饰名的长度,名称被截断
长度截断造成的, 长度截断会导致调试信息失准, 在跟踪调试的时候会误导程序员.
降低长度截断问题的几个方法:
1. 不在对话框或者类中声明嵌套数据结构,并放入模板,这样会造成模板类解析长度大幅飙升.
2. 要放入模板的数据结构,名字应较为简洁.