我正在尝试为我的代码实现单元测试,而且我很难做到这一点.
理想情况下,我想测试一些类,不仅是为了良好的功能,还为了正确的内存分配/释放.我想知道是否可以使用单元测试框架完成此检查.我正在使用Visual Assert btw.如果可能的话,我希望看到一些示例代码!
我查看了Boost网站上的例子,但它们并不是我想要的.
简单来说,我想看一下骰子上的数字是否有利于使用600卷,所以每个数字(1到6)的平均外观应为100.
我想使用卡方分布检查模具是否公平.
救命!,我该怎么办呢?
到目前为止我还没有使用过单元测试,我打算采用这个程序.TDD给我留下了深刻的印象,当然也想尝试一下 - 我几乎可以肯定它是要走的路.
Boost看起来是一个不错的选择,主要是因为它正在被维护.话虽如此,我应该如何实现一个工作和优雅的文件结构和项目结构?我在Win XP中使用VS 2005.我一直在谷歌搜索这个并且比开明更困惑.
也许这是一个愚蠢的问题,我不明白为什么我不能在以下代码中创建DC:
HBITMAP COcrDlg::LoadClippedBitmap(LPCTSTR pathName,UINT maxWidth,UINT maxHeight)
{
HBITMAP hBmp = (HBITMAP)::LoadImage(NULL, pathName, IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);
if (!hBmp)
return NULL;
HDC hdc = (HDC)GetDC();
HDC hdcMem = CreateCompatibleDC(hdc);
if (!hdcMem)
{
DWORD err = GetLastError();
}
...
...
...
Run Code Online (Sandbox Code Playgroud)
位图hBmp加载正常,hdc具有有效值.但是对CreateCompatibleDC()的调用返回一个NULL指针.然后,GetLastError()返回0!有谁能猜出这里发生了什么,拜托?
PS:在此之前没有调用内存分配或GDI例程...所以我认为应该排除内存泄漏.
我需要做一些与XML相关的工作(解析,比较等).你知道有没有适合你的C++库?最好是Win XP.谢谢.
我想知道是否存在VS的任何附加组件,可以用我选择的描述性文本替换/标记某些代码行?
理想情况下,功能如下:
bool CreateReportFiles(LPCTSTR fn_neighbours,ULONG nItems,ULONG*items)
{
Run Code Online (Sandbox Code Playgroud)// Read from file CFile cf_neighbours; if (!cf_neighbours.Open(fn_neighbours, CFile::modeRead)) return false; cf.Read(items, sizeof(ULONG) * nItems); cf.Close(); // Create reports DoReport_1(items, nItems); DoReport_2(items, nItems); DoReport_3(items, nItems); FinalizeReports();}
......看起来与此类似:
bool CreateReportFiles(LPCTSTR fn_neighbours,ULONG nItems,ULONG*items)
{
Run Code Online (Sandbox Code Playgroud)± Read from file ± Do the reports}
±符号会扩展/折叠替换线.
还考虑了其他解决方法!
谢谢你的帮助 !
我正在考虑用C++构建一个应用程序,它将从Web解析文本并创建一些统计结果.这些结果我希望能够在外部应用程序中实时提供.外部应用程序(我的代码我无法访问,但可以要求付费 - 自定义添加)将需要一些代码来阅读和使用这些结果.
我想知道在速度和易于实现方面互连两个应用程序的最佳方式是什么.我正在考虑 :
disk I/O (slow)
a Windows service
a DLL
a web service
a web page
Run Code Online (Sandbox Code Playgroud)
也许我错过了一个更好的解决方案?谢谢.
Update : there is an additional need to know how long a data request may take at worst.
Run Code Online (Sandbox Code Playgroud) 我找到了一个解决方案,但它只适用于你使用.DEF文件(我没有).
我想知道这是否可以在没有.DEF文件的情况下完成.
c++ ×9
boost ×2
unit-testing ×2
windows ×2
coding-style ×1
debugging ×1
distribution ×1
dll ×1
gdi ×1
ipc ×1
memory-leaks ×1
mfc ×1
process ×1
random ×1
release ×1
statistics ×1
tdd ×1
verify ×1
visual-c++ ×1
xml ×1