标签: visual-c++-6

链接到所有Visual Studio $变量

我在看看$(Configuration),$(ProjectDir)等在Visual Studio 2008的预生成事件.

是否存在所有这些变量的链接以及每个变量的定义?

msbuild visual-c++-6 visual-studio-2008 visual-c++

152
推荐指数
4
解决办法
10万
查看次数

在任何情况下new都会返回NULL吗?

我知道根据C++标准,如果新的无法分配内存,它应该抛出std :: bad_alloc异常.但我听说有些编译器如VC6(或CRT实现?)不遵守它.这是真的 ?我问这个是因为在每个新语句之后检查NULL会使代码看起来非常难看.

c++ memory-management visual-c++-6 new-operator visual-c++

52
推荐指数
3
解决办法
4万
查看次数

预编译标题

我有一个示例项目(不是我的)在Visual C++ 6中.我正在尝试将其转换为Visual Studio 2008.

旧项目使用预编译头.现在的问题是:

  1. 什么是预编译头文件?

  2. 由于旧项目使用预编译头.我还将在Visual Studio 2008(新项目)中使用它们.但我得到的错误是"你忘了包含stdafx.h",为了解决这个问题,我在每个源文件中加入了"stdafx.h".这非常有效.但是旧项目在每个文件中都没有包含"stdafx.h"?那么如何选择退出在每个源文件中包含"stdafx.h".因为不是每个源文件都需要"stdafx.h"中定义的包含文件,所以只有少数文件.怎么做的?

编辑: 如何使用预先设定的标题来解释某些文件?

visual-c++-6 precompiled-headers visual-studio-2008

31
推荐指数
2
解决办法
2万
查看次数

如何在Visual C++ 6.0中使用命令行参数运行控制台应用程序?

我已经得到了编译和执行用Visual C++ 6.0精细,但它会那么只有得到尽可能告诉我缺少的命令行参数的控制台应用程序.进入这些似乎没有任何明显的东西.如何使用命令行参数运行或调试它?

c++ parameters command-line visual-c++-6

30
推荐指数
2
解决办法
4万
查看次数

VS2012 C++警告C4005:'__ useHeader':宏重定义

在将旧的C++项目从Visual Studio 6迁移到Visual Studio 2012时,我们从标准Microsoft平台标头内部发现了一组奇怪的警告:

  • 警告C4005:'__ useHeader':宏重新定义
  • 警告C4005:'__ on_failure':宏重新定义

在线搜索只发现其他一些人遇到此错误.在某些情况下,人们试图使用VS2012来编译传统的DirectX代码 - 我没有这样做.在其他情况下,人们试图使用VS2012来定位Windows XP(使用Update 1中的新选项) - 我正在这样做.

DirectX问题得到了解答,警告将始终告诉您,您正在编译DirectX的过时(Win8之前版本)版本,并且您将不得不忍受它.

Windows XP问题没有得到解答.其他人只是说他们无法重现这个问题.

我复制了它,找到了原因,我在这里写这篇文章是为了帮助遇到这个问题的其他人.

c++ visual-c++-6 visual-studio-2012

29
推荐指数
5
解决办法
3万
查看次数

如何在循环中添加代码使其更快?

我有一个带内循环的简单函数 - 它缩放输入值,在查找表中查找输出值,并将其复制到目标.(ftol_ambient是我从网上复制的一种技巧,用于将float快速转换为int).

for (i = 0;  i < iCount;  ++i)
{
    iScaled = ftol_ambient(*pSource * PRECISION3);
    if (iScaled <= 0)
        *pDestination = 0;
    else if (iScaled >= PRECISION3)
        *pDestination = 255;
    else
    {
        iSRGB = FloatToSRGBTable3[iScaled];
        *pDestination = iSRGB;
    }
    pSource++;
    pDestination++;
}
Run Code Online (Sandbox Code Playgroud)

现在我的查找表是有限的,并且浮点数是无限的,因此有可能出现一个一个错误.我用一些代码创建了一个函数副本来处理这种情况.请注意,唯一的区别是添加了2行代码 - 请忽略丑陋的指针转换.

for (i = 0;  i < iCount;  ++i)
{
    iScaled = ftol_ambient(*pSource * PRECISION3);
    if (iScaled <= 0)
        *pDestination = 0;
    else if (iScaled >= PRECISION3)
        *pDestination = 255;
    else
    {
        iSRGB = …
Run Code Online (Sandbox Code Playgroud)

c++ optimization visual-c++-6 visual-c++

22
推荐指数
2
解决办法
1811
查看次数

使用静态变量和模板

我有一个像这样的头文件中定义的模板类.这里我也定义了一个静态变量:

#ifndef TEST1_H_
#define TEST1_H_

void f1();

static int count;

template <class T>
class MyClass
{
public:

    void f()
    {
        ++count;
    }


};

#endif
Run Code Online (Sandbox Code Playgroud)

我已经在不同的cpp文件中定义了main()函数,如下所示:

int main(int argc, char* argv[])
{
    MyClass<int> a;
    a.f();
    f1();

    cout<<"Main:" << count << "\n";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在不同的cpp文件中实现了函数f1(),如下所示:

void f1()
{
    MyClass<int> a;
    a.f();

    cout<<"F1: " <<count <<"\n";
}
Run Code Online (Sandbox Code Playgroud)

当我用VC6编译它时,输出为"F1:0 Main:2".这怎么可能?另外,一般情况下,如果我想将静态变量与模板一起使用,我应该如何处理?

c++ static templates visual-c++-6

18
推荐指数
1
解决办法
2万
查看次数

Visual Studio 2010 64位COM互操作问题

我正在尝试将VC6 COM DLL添加到我们的VS2010RC C#解决方案中.使用VC6工具编译DLL以创建x86版本,并使用VC7跨平台工具编译以生成VC7 DLL.

只要消耗C#项目的平台设置为x86,组件的x86版本就可以正常工作.DLL的x64或x86版本是否实际注册无关紧要.它适用于两者.如果平台设置为"任何CPU",我会收到一个BadImageFormatException负载Interop.<name>.dll.

至于x64版本,我甚至无法构建项目.我收到tlbimp错误:

TlbImp:错误TI0000:必须指定与输入类型库兼容的单个有效机器类型.

有没有人见过这个问题?

编辑:

我已经做了很多深入研究这个问题,并认为这可能是一个Visual Studio错误.我有一个干净的解决方案.我引入了我的COM程序集,选择了与语言无关的"任何CPU".生成的Interop DLL的过程体系结构是x86而不是MSIL.

可能必须手工制作Interop才能使其工作.

如果有人有其他建议,请告诉我.

com interop visual-c++-6 visual-studio-2010

16
推荐指数
1
解决办法
2万
查看次数

如何在组合框中获取当前选择的值(字符串)?

如何在组合框中获取当前选择的值(字符串)?

(不是整数索引)

mfc visual-c++-6 visual-c++

15
推荐指数
3
解决办法
4万
查看次数

与VC++ 6兼容的Boost的最新版本是什么?

什么是与Microsoft Visual C++ 6兼容的Boost库的最新版本?你能提供直接下载的链接吗?

http://www.boost.org上的 "下载"链接仅提供版本1.36.0的下载,该版本的文档列出了Visual C++ 7.1作为Microsoft编译器测试的最低版本.他们是否清除旧版本的下载?

c++ boost visual-c++-6 visual-c++

14
推荐指数
3
解决办法
4075
查看次数