Articles of 视觉工作室2010年

MFC:在ON_COMMAND函数混淆?

好吧,这是这个function 。 。 ON_COMMAND(ID_COLOR_RED,OnColor) ON_COMMAND(ID_COLOR_GREEN,OnColor) ON_COMMAND(ID_COLOR_BLUE,OnColor) 。 。 。 无效CMainWindow :: OnColor() { UINT nID =(UINT)LOWORD(GetCurrentMessage() – > wParam); m_nCurrentColor = nID _ ID_COLOR_RED; } 因此,在这里,CurrentMessage的wParam的LOWORD应该包含消息的ID,没关系,但是m_nCurrentColor = nID _ ID_COLOR_RED是什么意思; 手段? 对于红色,绿色或蓝色,m_nCurrentColor可以分别为0,1或2 … 所以首先我们在第一个语句中将消息ID转换为UINT,但是我们在第二个函数中使用m_nCurrentColor = nID _ID_COLOR_RED来做什么? 谁能解释一下吗?

LoadLibrary()的相对地址为dll

我想在我的代码在Windows中加载DLL,我用LoadLibrary()函数成功加载我的DLL,但我有一个问题,我给我的DLL的path如: LoadLibrary(C:\\path\\to\\my\\dll); 我不知道是否可以给我的DLL的相对path。 我的意思是例如: LoadLibrary(.\my dll directory\my dll.dll) 可能吗? 如果没有,我怎样才能开发我的项目,它可以是便携式的,而不改变在不同的机器上的DLL的path?

Visual Studio中的“win32 project”名称与x86或x64平台的关系如何?

我正在使用Visual Studio进行c ++编程,在x86环境(32位模式)下工作和编写程序之后,我尝试在x64环境中构build我的x86项目,所以我认为应该创build一个win64控制台项目而不是win32 console项目,但VC2010中没有这样的选项。 所以我想要问,为了build立x64项目,我还应该selectwin32项目,并使用这里的指令更改项目内部x64编译的设置? 我正在使用Windows 7 64位。 如果你的答案是肯定的,那为什么叫做win32?

什么是RpcNdr.h

微软在哪里摆脱困境? #define small char 你不能只是添加保留的语言,并悄悄包含在平台SDK中! 更重要的是我该如何摆脱它! 编辑:如何find什么是包含在Visual Studio中的什么地方 – 在Visual Studio中显示C ++文件的#include层次结构

有什么办法强制一个进程的工作集在C + + 1GB?

如果我在C ++中使用下面的调用,我希望进程的WorkingSet永远不会低于100MB。 然而,即使我打这个电话,操作系统仍然把工作集重新调整到16MB。 将WorkingSet设置为100MB将通过消除软页面错误(请参见下图)而显着提高应用程序的速度。 我究竟做错了什么? SIZE_T workingSetSizeMB = 100; int errorCode = SetProcessWorkingSetSizeEx( GetCurrentProcess(), (workingSetSizeMB – 1) * 1024 * 1024), // dwMinimumWorkingSetSize workingSetSizeMB * 1024 * 1024, // dwMaximumWorkingSetSize, QUOTA_LIMITS_HARDWS_MIN_ENABLE | QUOTA_LIMITS_HARDWS_MAX_DISABLE ); // errorCode returns 1, so the call worked. (专家额外) 实验方法学 我编写了一个testingC ++项目来分配100MB的数据,使工作集超过100MB(在Process Explorer中查看),然后释放该内存。 但是,当我释放内存时,操作系统将WorkingSet重新设置为16MB。 如果你愿意,我可以提供我使用的testingC ++项目。 为什么Windows提供一个调用SetProcessWorkingSetSizeEx(),如果它不似乎工作? 我一定做错了什么。 下图显示了当绿线(工作集)从50MB下降到30MB时,软页面错误(红色尖峰)的数量急剧增加。 更新 最后,我们最终忽视了这个问题,因为它不会影响性能。 […]

如何从Windowsregistry中获取电脑制造商和模型在C + +?

我正在编写自己的C ++代码,通过读取和分析registry项来读取Windows计算机上的计算机模型和制造商 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/mssmbios/Data/SMBiosData Windows / C ++ / Visual Studio中是否有任何库函数允许我直接获取这些信息?

将Perl正则expression式转换为等价的ECMAScript正则expression式

现在我正在使用VC ++ 2010,但VC ++ 2010的syntax_option_type只包含以下选项: static const flag_type icase = regex_constants::icase; static const flag_type nosubs = regex_constants::nosubs; static const flag_type optimize = regex_constants::optimize; static const flag_type collate = regex_constants::collate; static const flag_type ECMAScript = regex_constants::ECMAScript; static const flag_type basic = regex_constants::basic; static const flag_type extended = regex_constants::extended; static const flag_type awk = regex_constants::awk; static const […]

打开Cv渔业

我有这个问题, 当我运行vs2010(debugging)(打开简历2.4.0)facerec_demo.cpp给我的程序这个错误 OpenCV错误:未知函数,文件…… \ src \ opencv \ modul es \ core> \ src \ matrix中的图像步骤错误(matrix不连续,因此其行数不能更改)。 cpp,801行 这个错误导致我在facerec.cpp中的这一行 (Fisherfaces :: train(InputArray src,InputArray _lbls) Mat data = asRowMatrix(src, CV_64FC1); <– this gets a exeption, not handled. 和ai使用在pgm img数据库,这是我原来的* facerec_demo.cpp *文件 #include "stdafx.h" #include <opencv2/opencv.hpp> #include <iostream> #include <fstream> #include <vector> #include <string> #include <sstream> using namespace […]

为什么我的DX11游戏中加载了D3D10SDKLayers.dll?

请参阅下面的编辑更新。 原始问题已被修改! 我有一个使用DX11设备的工作窗口。 当我尝试使用Alt + Enter全屏时,出现问题。 如果窗口没有聚焦,我得到一个debugging输出,说: 'MyGame.exe': Loaded 'C:\Windows\SysWOW64\D3D10SDKLayers.DLL', Cannot find or open the PDB file 然后警告 DXGI Warning: IDXGISwapChain::Present: Fullscreen presentation inefficiencies incurred due to application not using IDXGISwapChain::ResizeBuffers appropriately, specifying a DXGI_MODE_DESC not available in IDXGIOutput::GetDisplayModeList, or not using DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH 我相当确定一个DX11游戏不应该加载D3D10SDKLayers.dll,特别是在执行中。 从MSDN文档,我收集到这个DLL是在设备创build时加载的: if a device is created with the appropriate layer flag, […]

%与FMOD计算模量

我的控制台应用程序看起来像 #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a, b; cin>>a>>b; cout<<"% "<<a%b<<endl<<"fmod "<<fmod(a,b)<<endl; system("pause"); return 0; } 我是C + +的新手,我有两个问题: 在VS上编写这个应用程序 为什么我需要包含“stdafx.h”? 有什么要求吗? 这是什么? fmod和%有没有区别? 得到完全相同的结果: Thx提前