了解VS2005为你的MFC程序做的一些事
利用MFC向导建立一个工程,然后开始编码。这就是我通常做一个MFC工程的开始。但向导可不是一个守规矩的东西,它会为你添加很多的代码,为你设置大量的编译和链接选项。大部分时候这种工作是善意的,但是好心不一定办好事,你不好好了解它,它会给你带来很多的麻烦。 在配置一个基于OpenCasCade的程序中,我就遇到了很多麻烦。MFC向导在它所生成的View, Document等架构类中都添加了一段如下代码: #ifdef _DEBUG #define new DEBUG_NEW #endif 在Debug状态下(VS会为你默认添加一个_DEBUG的预编译项),你在该类中调用的new操作符都会被DEBUG_NEW所取代,请警惕这个行为,如果你重载过某个类的new,很可能就会由于它导致无法编译通过或运行不正确。 除此之外一些默认的设置也要注意,在VS2005中是默认支持Unicode的,它会在你的编译选项中加入/D "_UNICODE" /D "UNICODE"。这就会使得CString和你可能用到的std::string存在很麻烦的转换问题。你需要修改项目属性中General-->Cha...






