Articles of visual c ++

客户在使用我们的应用程序时得到R6002运行时错误

我们有一个使用Visual C ++ 2005构build的应用程序,有一个客户报告说他得到了这个运行时错误: Microsoft Visual C++ Runtime Library Runtime Error! Program: [path to our application] R6002 – floating point support not loaded 根据微软( 在这个页面上 ),可能的原因是: 该机器没有FPU(不是这种情况:客户有一个Intel Core 2 Duo CPU,自从486SX以来我没有看到没有FPU的机器) printf或scanf与浮点格式规范一起使用,但程序中没有FPvariables(我们的应用程序包含FPvariables,但是我确信我们从不使用printf或scanf与FP格式) 与FORTRAN(在我们的应用程序中没有FORTRAN代码) 而且,在使用我们的应用程序时(特别是在他们select要处理的文件之后),而不是在应用程序启动时发生错误。 我意识到这是一个远射,但是有没有人在任何地方见过这样的事情? 谷歌是相当无益的(有很多没有支持的声称,这是一种病毒感染的症状,但除此之外很less)。 任何build议感激地收到:-)

如何在Windows上构buildgnu`libiconv`?

我想在Windows上构build一个静态库(* .LIB文件) GNU libiconv ,与Visual C ++中的其他库一起使用。 我正在使用的其他库是使用“multithreadingDLL”(/ MD)运行时选项构build的。 所以,我需要使用相同的选项来构buildlibiconv。 问题是libiconv使用GNU构build系统,我想用/ MD选项编译。 你可以在这里看到libiconv的源代码结构: http ://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv Zlatkovic先生维护libxml2的GNU libiconv的Windows端口 你可以在这里看到他们: ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip 我不能使用他的端口。 我需要从最新版本的libiconv-1.13开始构build。 我不知道这个人是如何移植它的? 有人可以告诉我如何从这个build立* .lib并使用MSVC编译它? 编辑: 其实,我需要build立几个相同的设置GNU库。 所以,如果我得到一个库的解决scheme。 我可以为所有其他人做同样的事情。

C ++exception“跳过”MSVC x64中的Try-Catch子句

我正在用C ++编写一个程序。 该程序一直在Win32(x86)正常工作,最近我已经尝试编译本机的X64。 当然,东西没有马上工作。 在debugging问题后,我已经设法用这个简单的代码片段重现它: class MyException { }; int main() { try { for (;;) { try { std::cout << "Throwing" << std::endl; throw MyException(); if (1 == 0) { continue; } } catch (const MyException&) { std::cout << "Catch 1" << std::endl; } } } catch (const MyException&) { std::cout << "Catch 2" […]

Windows 7操作中心

如果有人能指导我修改/控制Windows 7操作中心所需的新MS API,我将不胜感激。 我需要做的是将Backup通知消息集成到我的应用程序中,该应用程序是Action Center中的备份应用程序。 换句话说,我希望Windows在第三方软件完成其备份操作后显示备份操作成功。 更具体地说…有没有办法像安全通知/状态消息一样处理备份通知…例如,在安装反病毒应用程序之后…操作中心中的病毒保护字段显示消息类似于这个: <App Name> reports that it is up to date and virus scanning is on. 其中<App Name>是第三方应用程序名称。 有没有办法做类似的事情,但在行动中心的备份部分?

任何原因使用SecureZeroMemory()而不是memset()或ZeroMemory()时,安全性不是问题?

这个MSND的文章说SecureZeroMemory()是适用于在一段时间内存储在内存中的敏感数据在不再需要时确实被覆盖的情况。 这个问题的答案解释了为什么这可以有所作为。 现在有没有使用SecureZeroMemory()初始化每个内存块的意义? 例如在一个项目中,我看到类似下面的代码: ICONINFO ii; ::SecureZeroMemory(&ii, sizeof(ICONINFO)); if (::GetIconInfo(hIcon, &ii)) { //do stuff, then //release bitmaps if(ii.hbmMask) ::DeleteObject(ii.hbmMask); if(ii.hbmColor) ::DeleteObject(ii.hbmColor); } 为什么在这里使用SecureZeroMemory()而不是ZeroMemory() , memset()或者初始化值? 我的意思是如果编译器决定初始化是不必要的,并希望优化它 – 为什么我会执行它? 有什么理由在这里使用SecureZeroMemory()吗?

如何使用callback示例vc实现icmpsendecho2asynchronous

我需要使用ApcRoutinecallback例程asynchronous使用IcmpSendEcho2 API命令。 我有一个问题是我需要定义的ApcRoutinecallback例程的签名是什么样的? 当我打电话给IcmpSendEcho2第三个参数是什么样的? 我有15个代理请求被发送。 我只能用IcmpSendEcho2请求一次或多次。 如果我需要一次发送多个IcmpSendEcho2请求。 callback函数ApcRoutine如何知道哪个IcmpSendEcho2调用完成。 我猜这是ApcContext参数进入的地方? 我无法findMSDN或其他地方的任何示例代码,演示如何asynchronous使用IcmpSendEcho2命令。

如何从DLL生成一个导入库(LIB文件)?

是否有可能从一个DLL自动生成一个MSVC导入库(LIB文件)? 怎么样?

c ++检查已安装的程序

嗨,我想知道什么程序安装在我的系统上,我使用MsiEnumProducts和MsiGetProductInfo函数,但不是所有的应用程序,我可以看到“添加/删除程序”我得到的这个function。

是否有可能检查您是否正在使用Microsoft C编译器构build64位?

是否有一个简单的预处理器macros为64位版本定义? 我以为_WIN64可能是它,但即使当我build立一个32位的目标,封装在#ifdef _WIN64 … #endif部分编译,这是造成问题。 现在是星期五,我不能一直思考,但我确信我在这里忽略了一些非常简单的事情。 甚至可能涉及sizeof 。

如何使用VC ++检查C:\驱动器中是否存在文件?

我想检查一个文件是否存在于C盘或不? 谁能告诉我怎么样? 更新: 我有错误,我正在使用VC ++ 2008 #include "stdafx.h" #include <stdio.h> int main(int argc, _TCHAR argv[]) { FILE * f = fopen("C:\\Program Files (x86)\\flower.jpeg"); if (f == NULL) { file_exists = FALSE: } else { file_exists = TRUE; fclose(f); } return 0; } 更新2 当试图从下面的链接示例中剪切和粘贴代码时: #include "stdafx.h" #include <windows.h> #include "Shlwapi.h" int tmain(int argc, _TCHAR argv[]) […]