老板给我一个linux下面的源代码,让我读懂来改,我试着编译了一下,成功!于是窃笑,然后按照源代码中的readme文档进行测试,结果死机!按照单步调测,发现问题出在vector上面,源码中出现了一个vector,据同学说,这个是属于stl,而且听说vc6对stl的支持不好,建议我安装.net然后再重新编译一下看看。
我想问问诸位,
1、vc6和.net对stl的支持有什么不同的地方呢?
2、是不是即使都是stl,但是在linux下面的stl与windows下面的stl是不一样的呢?
谢谢!

解决方案 »

  1.   

    1、vc6和.net对stl的支持有什么不同的地方呢?
    主要是前者对 C++标准支持得不够紧,所以在支持STL上某些地方走了弯路,而用标准的做法又不支持。这是最主要的原因2、是不是即使都是stl,但是在linux下面的stl与windows下面的stl是不一样的呢?
    实现是不一样的,但是他们的功能语义应该是一样的,因为有C++标准规定了他们。STL不与操作系统挂钩,而是和编译器一起带的标准库挂钩,不同的标准库在实现细节上不同。因为有标准限定他们,所以STL算得上是可移植性最高的代码。所以,对于同一段代码你会编译成功