问题标签 [visual-c++-2008]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
216 浏览

c++ - Visual C++ (2008) 调试快照

有时我需要跟踪我感兴趣的对象上变量值发生变化的几行代码。当对象发生变化时,我需要比较变量以查看发生了什么,以及它是否与预期值不同。这类似于监视窗口,但可以保存并显示代码。在监视窗口中,您可以拥有一堆按最后添加顺序排列的变量名称(不能轻易更改!?),没有代码显示它们的来源。

目前,我在记事本++中输入所有内容。那么,有没有办法捕获包含变量值的几行代码的快照?

0 投票
1 回答
67 浏览

arrays - 凭据数组

我正在开发凭据提供程序和凭据。所以我有这门课SampleProviderSampleCredential. 当我通过以下方式特别声明SampleProvider具有一个、两个或一个常数的时SampleCredential,它运行良好:

但现在,我希望它是动态分配的。所以我会有这个:

然后在方法内部SetUsageScenario(),代码将从 txt 文件中读取凭证的数量,并分配它:

但它不起作用。我一直在那条线上出错。它说

访问冲突写入位置 0x00000000 ;

你知道这里会发生什么以及该怎么做吗?

0 投票
1 回答
3025 浏览

c++ - 创建包含所有依赖项的独立 DLL

我正在 VS9 中开发一个 C++ 项目,该项目引用了许多头文件、.dll 和 .lib 文件。

我想将其作为包含所有依赖项的独立 DLL 输出,以便我可以使用 LoadLibrary() 将其拉入。

这是否可能,如果可以,我该如何在 VS9 中做到这一点?

我已经创建了 DLL,但是通过depends.exe 运行它会给我错误:

谢谢

0 投票
1 回答
228 浏览

usb - 使用 vc++2008 与 USB 端口通信

我想通过 USB 端口与 halios 系统(硬件)通信。我有一个代码显示设备已连接。我使用了 USBTrace,它显示了从设备到主机的进出字节数。但我不知道如何实现这是 vc++2008 和使用 windows xp。

0 投票
2 回答
398 浏览

visual-c++ - FILE 指针神秘地重置为 NULL

我正在使用visual stduio 2008 c++。我正在编写 Windows 窗体应用程序。我在 Form1.h 的顶部声明一个 FILE* 数组作为全局值

在 From1 的构造函数中,我使用一个 for 循环来打开我的文件。

我为这个表格设置了一个计时器,每次打勾它都会把一些东西打印到myFiles中。到目前为止还不错,但是如果我放一些类似的东西

在for循环之后进入构造函数。这条线可以正常工作,但是如果我要在计时器的滴答事件中 fprintf 任何东西,我发现 myFiles[0] 已经设置为 NULL!

此外,如果我fprintf(myFiles[0],"something")在构造函数中,FILE 指针在计时器的滴答事件中仍然不会为空。

为什么会这样?!有谁知道为什么?

0 投票
2 回答
1572 浏览

c++ - 使用宏 _BIND_TO_CURRENT_VCLIBS_VERSION 是否有任何副作用?

我们正在将一个 VC++ 项目从 Visual Studio 2003 移植到 Visual Studio 2008 SP1(9.0.30729.4148)。依赖的外部库也使用 Visual Studio 2008 SP1 编译。

Main 应用程序有两种部署方案:

  • 具有用户管理员权限的机器:我们建议在使用应用程序 MainApp 之前先安装 Visual Studio 可再发行包。这很好用,因为用户具有管理员权限并且安装可再发行包没有问题。应用程序自动链接到 WinSxS 文件夹中的 VC redist DLL。
  • 具有非管理员用户的机器:这种情况是有问题的。用户没有管理员权限。因此,无法安装 VS2008SP1 可再发行包。

我们正在做以下事情来解决这个问题:

  • 使用宏 _BIND_TO_CURRENT_OPENMP_VERSION 编译 MainApp 目标(适用于 MainApp 中的所有项目)。

  • 将 VS2008SP1 可再发行 DLL 作为私有程序集分发,并将它们复制到应用程序安装目录中。

问题:

  1. 使用标志 _BIND_TO_CURRENT_VCLIBS_VERSION 是否有任何副作用(特别是当 VC 可再发行包和私有 VC 可再发行程序集同时存在时)?
  2. 我们对外部库 ExtStaticLib1、ExtDynamicDll1 没有太多控制权,因此它们不会使用宏 _BIND_TO_CURRENT_OPENMP_VERSION 进行编译。但是它们已经用 VSSp1 编译过了。这个设置会有问题吗?
  3. 如果有更新版本的 VS 可再发行版本可用(比 9.0.30729.4248 更新),是否会有任何问题。

谢谢。

0 投票
2 回答
785 浏览

c++ - Visual C++ 生成 DIV 而不是 IDIV(x86,整数运算)

我在这里使用 Visual C++ 2008 (9.x),当我遇到生成 DIV 而不是 IDIV 的编译器时,我正在准备一个定点值。我将代码折叠成一小块以准确重现:

我不会用简单的拆卸来打扰你。

现在不是走捷径,只是改变除数的类型(它是一个函数参数,unsigned int numPixels),我想知道是什么让编译器在第三个(test3)案例中选择 DIV 而不是 IDIV,因为它没有这样做无符号的 16 位除数,实际上没有任何东西需要无符号算术。至少我是这么想的,我希望我错了:)

0 投票
3 回答
3376 浏览

c++ - 为什么在 Visual C++ 2008 中构建结构时会收到这些警告?

我有这个代码

这个初始化器:

使用此代码,我在 VS2008 中有 3 个警告:

0 投票
1 回答
543 浏览

linker - VC++ 2008 链接器在哪里找到库?

我有使用 Opends60.lib 的 VC++ 2008 C++ .DLL 项目(它在链接器/输入/附加依赖项中列为“Opends60.lib”)

我将此项目移植到 VC++ 2010(在不同的文件夹中),现在链接步骤失败并显示消息:

错误 3 错误 LNK1181:无法打开输入文件 'opends60.lib'

所以我想我需要将库从 2008 项目文件夹中的某个位置复制到 2010 项目文件夹。问题是 - 在 2008 项目文件夹或我硬盘上的任何地方都找不到该库!2008 年的项目如何联系起来是一个谜,但不知何故。从 2008 年的项目中删除这个库会导致一堆未解决的外部问题,因此链接器可以在某个地方找到它。

问题:有没有办法找出来自 VC++ 2008 的链接器在哪里找到这个库?

0 投票
1 回答
157 浏览

c++ - 是否可以在编译前立即将代码注入翻译单元

我使用 MSVC++ 2008 和 2010 构建了我的 C++ 代码库。是否有可能获得翻译单元,对其进行分析,在必要时插入一些代码,然后传递到编译过程?原始源代码不应受到影响。

当然,对于构建项目的开发人员来说,它应该是透明的。最后,它只会影响目标文件。Visual Studio 非常强大。我想,应该有某种插件 API 或钩子来做到这一点。请给我一个提示。