Articles of 视觉工作室 2008

定义_HAS_TRADITIONAL_STL来启用STLfunction是否安全?

在试图在VS2008项目的<functional>中使用std::select1st ,我发现它是由_HAS_TRADITIONAL_STL守护进行的。 是否有一个原因? 在包含<functional>之前简单定义_HAS_TRADITIONAL_STL是否安全?

LibGD库不工作:保存图像时崩溃

我一直在寻找JPG保存库很长一段时间的C ++,但我似乎无法得到任何工作。 现在我正在尝试使用LibGD: 什么即时做错了? 这似乎工作,但节省的崩溃。 码: … #pragma comment(lib, "bgd.lib") #include <gd/gd.h> … void save_test(){ gdImagePtr im; FILE *jpegout; int black; int white; im = gdImageCreateTrueColor(64, 64); black = gdImageColorAllocate(im, 0, 0, 0); white = gdImageColorAllocate(im, 255, 255, 255); gdImageLine(im, 0, 0, 63, 63, white); if(jpegout = fopen("test.jpg", "wb")){ if(im){ gdImageJpeg(im, jpegout, -1); // crash […]

编译Qt 5.3.2 + VS2008 + SDK7.1错误SHARDAPPININFOLINK

当编译Qt 5.3.2 + VS2008 + SDK7.1我得到了这些错误: qwinfunctions_p.cpp qwintaskbarbutton.cpp qwintaskbarprogress.cpp windowsguidsdefs.cpp qwinjumplist.cpp qwinjumplistcategory.cpp qwinjumplistitem.cpp qwineventfilter.cpp qwinthumbnailtoolbar.cpp C:\Program Files\Microsoft SDKs\Windows\v7.1\include\shlobj.h(2947) : error C2011: 'SHARDAPPIDINFOLINK' : nueva definición del tipo 'struct' c:\qt\5.3.2\qtwinextras\src\winextras\winshobjidl_p.h(228) : vea la declaración de 'SHARDAPPIDINFOLINK' .\qwinjumplistcategory.cpp(134) : error C2079: 'info' utiliza struct 'SHARDAPPIDINFOLINK' sin definir .\qwinjumplistcategory.cpp(135) : error C2228: el operando izquierdo de '.pszAppID' debe […]

LNK2019:无法parsing的外部符号_main在函数___tmainCRTStartup中引用

我有以下错误LNK2019:无法parsing的外部符号_main在函数___tmainCRTStartup中引用, 有很多关于这个错误的线程,但这些解决scheme都没有为我工作。 而且,没有人解释为什么这个错误在这里。 我试过了: wWinMainCRTStartup作为链接器属性的入口点http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/14e85604-6929-4707-a22e-8cdf596926a6 将链接器设置为“Windows”(与上面相同的线程) 右键单击解决scheme名称 – >添加 – >现有项目 – >主文件(与上面相同的线程) 包含错误LNK2019:无法parsing的外部符号_main在函数___tmainCRTStartup中引用 尝试Project +属性,C / C ++,代码生成,缓冲区安全检查=否http://social.msdn.microsoft.com/Forums/hi-IN/vclanguage/thread/e2ea62c3-beb3-47a4-8963-60b799e3375a 选项:C / C ++,代码生成,运行时库= / MTd; C / C ++,代码生成,基本运行时检查=默认; C / C ++,代码生成,缓冲区安全检查=否; 链接器,高级,入口点=主http://social.msdn.microsoft.com/Forums/hi-IN/vclanguage/thread/e2ea62c3-beb3-47a4-8963-60b799e3375a 在main.cpp中注释掉了标题,除了'using namespace std'和#include – 导致了引用这些标题的函数级联和滚雪球错误 我删除了main.cpp中除了testing代码以外的所有东西,并且排除了main.cpp以外的所有源文件; 如预期的那样工作,所以向正确的方向迈出了一小步。 该问题必须与其中一个头文件。 使用Win32 Windows应用程序模板http://social.msdn.microsoft.com/Forums/ar-SA/vcgeneral/thread/105a366f-c38d-4c1c-9278-eca64589e7ca和http://social.msdn.microsoft创build新项目。 COM /论坛/ ZH / Vsexpressvc /线程/ 341780c2-162e-4b36-9402-283c0cf7c0ac 没有试过,怀疑这些也不行: 使用int main()(不知道它们是什么意思,文件名或主函数名) http://social.msdn.microsoft.com/Forums/zh/Vsexpressvc/thread/341780c2-162e-4b36-9402-283c0cf7c0ac […]

COM方法调用返回灾难性故障

注意: 将BSTRvariables传递给COM方法, HRESULT返回值为8000FFFF 以前与接口指针调用成功 :HRESULT为0 在Visual Studio中执行成功 ,外部失败 – 释放和debugging 插图: const char *simFile; simFile = new char; //omitted _bstr_t simFileToOpen(simFile); BSTR raw_sim_Open = simFileToOpen.copy(); SysFreeString(simFileToOpen); delete simFile; hresult = pis8->raw_Open (raw_sim_Open); //0x8000FFFF returned

如何select应用程序应链接到的VC 2008 DLL的版本?

我正在使用C ++的Visual Studio 2008 SP1。 编译时,Visual Studio需要select与应用程序链接的版本的CRT和MFC DLL,版本9.0.21022.8(= RTM),9.0.30729.17(= SP1)或9.0.30729.4148(=安全更新的SP1) 。 我想知道如何select哪个版本将链接。 有人知道吗? 注意 :使用私有程序集时 ,这一点很重要,因为您需要知道要将哪些版本的VC 9.0 DLL与.exe一起复制。 请注意 ,_BIND_TO_CURRENT_VCLIBS_VERSION标志只能确保清单中包含正确的版本。 运行时的DLL版本select显然不是基于清单文件中包含的版本来完成的。 即使清单文件说应该使用v21022,.exe也使用v30729 .DLL。 我知道这一点,因为它使用std :: tr1 :: weakptr,这是不存在于v21022。

exe文件的大小vs可用内存

我已经经历了一个PE文件如何映射到内存? ,这不是我所要求的。 我想知道PE文件的哪些部分(数据,文本,代码,…)总是通过加载器完全加载到内存中,而不pipe条件是什么? 根据我的理解,没有任何部分(代码,数据,资源,文本,…)总是加载完毕,它们在需要时逐页加载。 如果几页代码(中间或结尾)不需要处理用户的请求,那么这些页面不会总是被加载。 我已经尝试了使用/不使用资源的许多代码的exe文件,但是,每次exe加载到内存中时,都会占用比文件大小更多的内存。 (我可能一直在看任务pipe理器中的内存错误列) 马特Pietrek写在这里 注意PE文件不仅仅作为一个内存映射文件映射到内存中是很重要的。 相反,Windows加载程序查看PE文件并决定映射文件的哪些部分。 和 内存中的模块表示进程所需的可执行文件中的所有代码,数据和资源。 PE文件的其他部分可以被读取,但是不能被映射(例如,重定位)。 例如,当debugging信息放在文件的末尾时,某些部分根本就不能被映射。 简而言之, 1-有一个大小为1 MB的可用内存(物理+虚拟)小于1 MB的exe,是否始终拒绝加载,因为可用内存小于文件大小一致? 2-如果一个大小为1MB的文件在加载时(开始运行第一行用户代码)需要2MB内存,而可用内存(物理+虚拟)是1.5MB,那么加载器总是会拒绝加载,因为没有足够的内存? 3-有一个大小为50 MB(大量的代码,数据和资源)的exe文件,但它需要500 KB来运行用户代码的第一行,这是一致的,如果可用内存此exe文件将始终运行第一行代码物理+虚拟)至less500 KB?

java getRuntime()。exec一个需要UAC的exe

所以我们有一个作为Windows服务运行的java进程。 它需要使用Runtime.getRuntime().exec(command)执行一个命令。 它执行的命令需要UAC。 这是在Windows Server 2008上,听起来像你不能禁用一个单一的可执行文件的UAC,所以有没有其他的方式来使这个工作?

C ++:如何在编译时encryptionstring?

我想在我的.exe中隐藏一些string,所以人们不能简单地打开.exe,看看那里的所有string。 我不关心encryption方法的强度,所以我可能会使用XOR等。 我怎样才能在编译时做到这一点? 这样我的string将不会存储在.exe中,但encryption版本会。 然后,我会每次使用我的解密函数在屏幕上显示这些string。

在Visual Studio中刷新自动完成(IntelliSense)数据库

我注意到, Visual Studio中的自动完成function不能正常工作,一旦我的项目达到一定的大小(在我的情况下~4,100行代码)。 我还注意到,一旦第三方库的数量增加(名称空间和类属性和方法不再可见),性能也会降低。 有没有办法手动更新自动完成数据库或为现有的项目创build一个新的? 我目前在Visual Studio 2008下工作,但是我也在Visual Studio 2010中遇到过这个问题。