我发现Windows有一些新的Windows数据类型
DWORD_PTR, INT_PTR, LONG_PTR, UINT_PTR, ULONG_PTR
Run Code Online (Sandbox Code Playgroud)
你能告诉我何时,如何以及为何使用它们?
多年来我使用了两个很棒的工具BoundsChecker&Purify,但这些应用程序的开发人员让我失望,他们不再努力维护它们或开发它们.我们在两家公司都有公司账户,他们都告诉我他们无意生产支持64位应用程序的版本.
任何人都可以推荐支持64位本机C++/MFC应用程序的开源或商业替代品吗?
如何对大型MFC UI应用程序进行单元测试?
我们有一些大型MFC应用程序已经开发多年,我们使用一些标准的自动化QA工具来运行基本脚本来检查基础,文件打开等.这些由QA小组在每日构建后发布.
但我们想介绍一些过程,以便各个开发人员可以在将代码提交到每日构建之前,根据对话框,菜单和应用程序的其他可视元素构建和运行测试.
我听说过只有在调试版本中出现的对话框上的隐藏测试按钮等技术,是否有任何标准工具包.
环境是C++/C/FORTRAN,MSVC 2005,Intel FORTRAN 9.1,Windows XP/Vista x86和x64.
我们在大多数代码中都使用CString类.但有时我们需要转换为char*.目前我们一直在使用variable.GetBuffer(0)这样做,这似乎有效(这主要发生在将Csting传递给函数需要char*的函数中).该功能接受了这一点,我们继续前进.
然而,我们最近担心这是如何工作的,以及是否有更好的方法来做到这一点.
我理解它的工作方式是它将一个char指针传递给指向CString中第一个字符的函数,并且一切正常.
我猜我们只是担心内存泄漏或任何不可预知的情况,这可能不是一个好主意.
我将在这里回答我自己的问题,因为我花了几个小时将它拼凑在一起并想分享我发现的东西,希望我能拯救别人挖掘.
有一个MSDN演练可以帮助你完成大部分工作,但我在其他地方找到了几个关键部分.例如,演练告诉您将行[System :: STAThreadAttribute]放在_tWinMain()定义之前,但如果您正在实现标准MFC应用程序,那么您的源代码中没有_tWinMain().
如果这里的任何内容不清楚,请随时提问,我会编辑答案以使事情更清楚.
我正在使用microsoft visual studio来做C++.我没有在IDE的输出控制台中看到std :: err和std :: out.有没有办法重定向他们?
如何以编程方式读取SD卡的CID寄存器,其中包含序列号和其他信息?我可以通过Android Java或Native代码来实现吗?
埃里克,提前谢谢
我创建了一个使用过程CreateProcess().这是代码:
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
result = CreateProcess("C:\\AP\\DatabaseBase\\dbntsrv.exe", NULL, NULL, NULL, FALSE, 0, NULL, "C:\\ADP\\SQLBase", &si, &pi)
Run Code Online (Sandbox Code Playgroud)
如何获取此特定过程的Handle和processId?并最终用它来关闭这个过程?
谢谢.
我有通过visual studio 2013编译我的项目的问题.我收到此链接器错误:
LINK : fatal error LNK1104: cannot open file 'nafxcwd.lib'
Run Code Online (Sandbox Code Playgroud)
根据这个页面,我必须在共享库中使用MFC.但我根本不使用MFC.
我的所有库和主项目都使用Use Standard Windows Libraries设置进行编译.仅当我尝试通过Visual Studio 2013工具链构建项目时才会出现此问题,但它已成功使用Visual Studio 2010工具链构建.
PS项目已从Visual Studio 6.0迁移到Visual Studio 2013.
我有一个C++项目,它引用了许多其他项目/库.这适用于多年前创建的应用程序.每年大约每年更新一次,并完成新版本.我已经使用Visual Studio 6多年来更新和构建这个应用程序的新版本,没有任何问题.
我正在尝试切换到Visual Studio 10(现在是VS2013).最初我遇到了几个警告和错误,这是由VS版本之间的兼容性问题引起的.我能够照顾到最多.但是,我仍然对以下错误感到困惑:
error C1189: #error : MFC does not support WINVER less than 0x0501. Please change the definition of WINVER in your project properties or precompiled header. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\afxv_w32.h
在一些引用的项目库中发生错误.我检查了有问题的项目库,我找不到任何对WINVER的引用.
我已经在互联网上搜索了这方面的信息,并找到了一些主题,但没有任何特定于我的问题.有人可以对这里可能发生的事情有所了解吗?
提前致谢.LA
mfc ×10
c++ ×6
visual-c++ ×2
winapi ×2
windows ×2
android ×1
cstring ×1
linker ×1
memory-leaks ×1
purify ×1
tdd ×1
unit-testing ×1
wpf ×1
wpf-controls ×1