标签: visual-c++

这是一个有效的编译器优化吗?

编译器:Visual C++ 2012 RTM

是不是有错误?:https://connect.microsoft.com/VisualStudio/feedback/details/763601/visual-c-2012-rtm-serious-compiler-bug

对我来说,似乎很奇怪它会将test()内联到第二个std :: cout语句中.

c++ visual-c++

0
推荐指数
1
解决办法
113
查看次数

为什么输出argv [0]错了?

我使用的是Visual C++ 2010,代码是:

#include "stdafx.h"
#include <stdio.h> 

int _tmain(int argc, _TCHAR* argv[]) { 
    printf("step 0: %s\n", argv[0]);
    int d;
    scanf("%d",&d);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我选择_UNICODE时,输出为"D",当我选择_MBCS时,它运行良好,输出为"D:\ VCTest\c1006.exe"

为什么在_UNICODE中出错?如何为_UNICODE和_MBCS使用相同的代码?

c visual-c++

0
推荐指数
1
解决办法
219
查看次数

使用枚举关闭switch/case语句的编译器警告

假设您有一个枚举类型,其值为50多个条目.曾经有一段时间我曾用这个数量的条目切换/设置枚举值,但仅用于检查,例如,从中检查2到5个条目.

例如,OpenGL将其大多数枚举粘贴在一个枚举类型中,称为GLenum.这些值的范围从GL_VERTEX_SHADERto GL_STREAM_DRAWGL_TRIANGLESto GL_ARRAY_BUFFER等.

正如您所看到的,虽然这些与更大的图景有关,但它们的使用环境并不相互关联.

我在Linux中的MinGW/GCC上生成了警告,其中每个警告都记录了其类型声明中列出的每个枚举值.我不确定VC++上是否会发生这种情况,但我认为无论如何我都会考虑它以防万一.

换句话说,生成的警告数量是TotalEnumValues - AmountOfCaseStatements针对每个枚举值,前提是并非所有枚举都已在语句本身中进行了说明,如果您的枚举类型包含至少100个条目,很容易导致100多个编译器警告.

我经常使用if/else来容纳这个,但是当检查枚举值超过一个条目时(这实际上非常罕见,因为枚举的目的通常需要条件逻辑来补充它),我一直都是容易使用开关/外壳,因为我发现它更美观(即使它只是编译成if/else语句,无论如何;))

那么,这个警告是否可以关闭?如果是这样,怎么样?

c c++ enumeration compiler-warnings visual-c++

0
推荐指数
1
解决办法
1897
查看次数

使用自定义凭据提供程序时,在登录屏幕上出现多个切片

我使用了Microsoft的Credential Provider示例来组合默认Windows 7登录屏幕的包装器.

就新的CP而言,所有内容似乎都运行良好,但我的登录屏幕上出现了重复的图块,即默认的Windows图块和我的"包装"图块.

如何删除默认的Windows磁贴,因为这不包含我的更改?

winlogon visual-c++ windows-7 credential-providers

0
推荐指数
1
解决办法
2774
查看次数

在VC++中通过regex拆分字符串

我在一个项目中使用VC++ 10.作为C/C++的新手,我只是谷歌搜索,似乎在标准C++中没有正则表达式?VC++ 10似乎有正则表达式.但是,我如何进行正则表达式拆分?我是否需要提升?

在网上搜索,我发现许多人推荐使用Boost进行许多操作,标记/拆分字符串,解析(PEG),现在甚至是正则表达式(尽管这应该是内置的......).我能否得出结论提升是必须的?它的180MB只是琐碎的东西,在许多语言中天真地支持?

c++ visual-c++

0
推荐指数
1
解决办法
4770
查看次数

翻转从Kinect收到的深度帧

我使用以下c ++代码从kinect中读出深度信息:

    BYTE * rgbrun = m_depthRGBX;
    const USHORT * pBufferRun = (const USHORT *)LockedRect.pBits;

    // end pixel is start + width*height - 1
    const USHORT * pBufferEnd = pBufferRun + (Width * Height);

    // process data for display in main window.
    while ( pBufferRun < pBufferEnd )
    {
        // discard the portion of the depth that contains only the player index
        USHORT depth = NuiDepthPixelToDepth(*pBufferRun);

        BYTE intensity = static_cast<BYTE>(depth % 256);


        // Write out blue byte
        *(rgbrun++) = intensity; …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++ kinect

0
推荐指数
1
解决办法
1910
查看次数

在C++中指向缓冲区(字符串"")的void指针上使用sizeof()以获得BYTES的大小?

void * ptr0 = (void*)"Buffer_1";
int size0 = sizeof(ptr0);
// WILL THIS RETURN THE NUMBER OF BYTES OCCUPIED BY THE MEMORY POINTED BY ptr0?
Run Code Online (Sandbox Code Playgroud)

我的要求是
1)在缓冲区中存储一些数据并创建一个void*指针,我在第一行做.
2)后来我想在BYTES中获得这个缓冲区的大小.第二行将完成这项工作.

c++ pointers sizeof void-pointers visual-c++

0
推荐指数
1
解决办法
2649
查看次数

结合rand()和srand()以获得更好的性能

所以,我正在制作一个我希望有一个函数来生成随机数的DLL.我想知道哪些选项更有效(性能明智).

这个只是在DLL中创建一个函数,允许我得到一个随机数.

int getRand(unsigned int seed) {
    int rNum;  // Random Number.

    srand(seed);
    rNum = (rand() % // Whatever I need here.
}
Run Code Online (Sandbox Code Playgroud)

或者,只是使用srand(time(nullptr))rand()在应用程序中性能更好?

谢谢,

约翰尼P.

c++ random dll performance visual-c++

0
推荐指数
1
解决办法
1281
查看次数

对象删除后对成员变量的引用是否会损坏?

我可以ref在删除对象后使用,如本例所示还是不安全?

struct Object
{
    int value;
};

void function()
{
    Object* object = new Object();
    int& ref = object->value;
    delete object;
    ref = 50;
}
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

0
推荐指数
2
解决办法
53
查看次数

只有一个变量正在打印 C++

//libraries
#include <iostream>

//standard namepace
using namespace std;


int Car() {
    int a;
    int b;
    
    cout << "Fuel Tank" << endl;
    cin >> a;
    cout << "MPG" << endl;
    cin >> b;

    return a, b;
}
int main() {
    int a;
    int b;
    
    a,b = Car();
    
    cout << "Print Values " << (a,b);    // <--- Line 25

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

假设您将 10 和 15 作为第一个和第二个输入。为什么 15 是cout第 25 行语句中唯一要打印的变量。

c++ visual-c++

0
推荐指数
1
解决办法
78
查看次数