我使用Hudson作为持续集成服务器来测试C/C++代码.不幸的是,我有一个导致内存损坏的错误,所以在某些Windows机器上,我有时会得到一个"应用程序错误"对话框,说明一条指令引用了无法读取的内存.弹出此对话框并基本挂起测试运行,因为它需要手动干预.
有没有办法阻止此对话框出现,以便测试运行只是失败并在Hudson中报告?
是否可以自动生成小型转储而不是显示对话框?
我正在尝试使用visual studio 2005构建一个C/C++静态库.由于选择运行时库是一个编译选项,我不得不构建我的库的四个变体,一个用于运行时库的每个变体:
这些是编译器选项,而不是链接器选项.来自Linux背景,这看起来很奇怪.不同的运行时库是否有不同的调用约定?为什么不能在链接时解析不同的运行时库,即当我链接使用我的静态库的应用程序时?
是否可以typedef使用模板的长类型?例如:
template <typename myfloat_t>
class LongClassName
{
// ...
};
template <typename myfloat_t>
typedef std::vector< boost::shared_ptr< LongClassName<myfloat_t> > > LongCollection;
LongCollection<float> m_foo;
Run Code Online (Sandbox Code Playgroud)
这不起作用,但有没有办法达到类似的效果?我只想避免键入和读取几乎涵盖编辑器窗口全宽的类型定义.