小编gig*_*gle的帖子

如何通过CMake更改Visual Studio解决方案的启动项目?

我正在使用CMake生成Visual Studio项目.除了一件事,一切都很好.

解决方案中的启动项目始终是ALL_BUILD.如何通过CMake将启动项目更改为我想要的实际项目?

startup cmake visual-studio-project visual-studio

56
推荐指数
4
解决办法
1万
查看次数

在C++函数中使用本地类

我在c ++函数中看到了一些内部结构的用法.

有一个共同的接口IBase.这是草案代码.

class IBase
{
    virtual Method()=0;
}

vector<IBase*> baseList;
Run Code Online (Sandbox Code Playgroud)

然后,函数根据该IBase定义内部类,然后将内部类对象推送到baseList中.

void func()
{
    struct Object : public IBase
    {
        virtual Method()
        {
            // Method of Object in func
        }
    }

    IBase* base = new Object();
    baseList->push(base);

}
Run Code Online (Sandbox Code Playgroud)

这似乎是一种奇怪的用法,但是消息/事件创建模式的一个很好的实现.

其他线程可能使用此baseList来处理传入的事件.

"struct Object"的内部结构的范围是什么?这很有趣.有没有一些文件在谈论这个?

c++ design-patterns

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

使用Python GUI与C++后台模块的混合应用程序

我想编写一个混合应用程序,它使用python作为GUI组件,C++模块作为后台服务.

我知道如何使用Python和C++编程,但我找不到一种成熟/好的方法来使它们顺利地协同工作.你能为我们解释一下吗?一个好的文档/教程也非常感谢.

c++ python boost wxpython

9
推荐指数
1
解决办法
5593
查看次数

glVertexAttribDivisor和索引输入

各位,我试图在我的OpenGL实例绘图中使用glVertexAttribDivisor.

它适用于NV卡,但在ATI卡中不起作用.什么都没画.

从GlExtensionViewer,它显示这两个卡都支持glVertexAttribDivisor/InstancedStream.跑步时没有错误.

我不知道这是否是由于我的错误用法造成的.

我将实例数据放在一个单独的顶点数组缓冲区中,然后将其映射到gl_MultiTexCoord0~3.实例数据是世界矩阵.

代码就在这里.

    for( int i=0;i<3;i++)
    {
        glClientActiveTexture(kGL_TEXTURE0 + i);
        glTexCoordPointer(size, type, stride, i*4*sizeof(float));

        int instanceVertexAttribIndex = i + 8;
        glVertexAttribDivisorARB(instanceVertexAttribIndex, 1);
    }
Run Code Online (Sandbox Code Playgroud)

关键问题是如果我尝试将实例数据放在gl_MultiTexCoord0上,我应该给glVertexAttribDivisorARB正确的"索引"?

opengl graphics ati

9
推荐指数
1
解决办法
2212
查看次数

如何准备一个恒定的基准环境

当我进行图形基准性能测试(C++)时,我发现应用程序有时会更快或更慢.这与当前的操作系统状态/缓存/内存使用情况以及图形硬件状态有关.

我正在使用Win7.我想知道是否有一些指导方针告诉我如何获得稳定/恒定的基准性能测试环境?

c++ windows graphics performance benchmarking

8
推荐指数
1
解决办法
230
查看次数

如何在调试时跟踪/输出Visual C++ 2010中的时间戳

大家好,VC2010提供调试工具"trace",它不仅可以将变量值输出到输出窗口,还可以输出一些内置参数,如TID TNAME,PID等.

我想跟踪输出时间戳,这可能是VS2010吗?

谢谢!

c++ debugging visual-studio visual-c++

6
推荐指数
1
解决办法
2588
查看次数

DLL new/delete是否覆盖用户代码new/delete?

各位,如果我覆盖全局new并删除我的dll代码,这会覆盖用户代码new并删除吗?我做了一个测试,它显示用户new和delete不会受到影响.如果我想让用户代码为new并删除被我的sdk new/delete替换,该怎么做.

模板类是什么情况.模板类定义包括一些新的/删除.用户代码可以实例化它.然后,它可能会使用用户new/delete,对吗?

c++ visual-c++

6
推荐指数
1
解决办法
1734
查看次数

如何强制子相同的虚函数首先调用其父虚函数

各位,我有一个案例需要子类在调用其覆盖虚函数之前首先需要调用其父虚函数.

BaseClass::Draw()
{

}

ChildClass::Draw()
{
    BaseClass::Draw(); // BaseClass Draw must be called first.
}

GrandChildClass::Draw()
{
    ChildClass::Draw(); // ChildClass Draw must be called first.
}
Run Code Online (Sandbox Code Playgroud)

我想隐藏客户端的这种行为.这有模式吗?

谢谢.

c++ oop polymorphism design-patterns

4
推荐指数
1
解决办法
3112
查看次数

如何使序列化并行运行

伙计们,如果我有一个树结构,我想序列化树和子节点.如何并行地为每个节点进行序列化.如果我为每个节点分配一个独立的任务,输出数据将是无序的.并发序列化是否有一些模式?

编辑:如果结构不是树,而是DAG?如何处理这个结构?如何序列化DAG并使序列化成为并发.

c++ serialization multithreading

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

使用 OpenGL 或 D3D 绘制椭圆的有效方法

有一种快速的方法可以像这样画圆

void DrawCircle(float cx, float cy, float r, int num_segments) 
{ 
    float theta = 2 * 3.1415926 / float(num_segments); 
    float c = cosf(theta);//precalculate the sine and cosine
    float s = sinf(theta);
    float t;

    float x = r;//we start at angle = 0 
    float y = 0; 

    glBegin(GL_LINE_LOOP); 
    for(int ii = 0; ii < num_segments; ii++) 
    { 
        glVertex2f(x + cx, y + cy);//output vertex 

        //apply the rotation matrix
        t = x;
        x = c * x - s * y;
        y …
Run Code Online (Sandbox Code Playgroud)

opengl graphics geometry vector

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