小编Ibr*_*pek的帖子

在C++中exit和std :: exit有什么区别?

exitstd::exitC++有什么区别?我研究了它,但我找不到任何东西.

这两个代码有什么区别:

1:

if(SDL_Init(SDL_INIT_EVERYTHING) != 0)
{
    std::cout << "Error: Can't initialize the SDL \n";
    exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)

2:

if(SDL_Init(SDL_INIT_EVERYTHING) != 0)
{
    std::cout << "Error: Can't initialize the SDL \n";
    std::exit(EXIT_FAILURE);
}
Run Code Online (Sandbox Code Playgroud)

c++ exit

6
推荐指数
2
解决办法
2555
查看次数

即使编译失败,是否还需要删除OpenGL着色器对象?

着色器编译失败时,是否需要删除着色器?失败的着色器也包括在这个过程中吗?

像这样:

for(size_t Size = 0; Size < this->Shaders.size(); Size++) //"Shaders" is a vector.
{       
    glDeleteShader(this->Shaders[Size]);
}
Run Code Online (Sandbox Code Playgroud)

c++ opengl

3
推荐指数
1
解决办法
194
查看次数

可以链接具有不同名称的函数

那么,函数名只是指向函数指向起始地址的标签,那么我们可以用不同的名称链接一个函数吗?作为OpenGL API中的一个例子,函数以'gl'开头,我们可以把它变成'GL'吗?我有强迫症,这对我来说真的很难.

c c++ c++11

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

为什么参数存储在寄存器中而不是存储在x86-64汇编中的堆栈中?

在x86-32汇编中,参数存储在堆栈中,但在x86-64中,参数存储在寄存器中.这是什么原因?

assembly x86-64 function-parameter

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

在C/C++中将标签作为参数

我们有一个标签:

LABEL:
    //Do something.
Run Code Online (Sandbox Code Playgroud)

我们有一个功能.我们希望传递LABEL作为此函数的参数(否则我们无法访问函数中的标签),并且在某些情况下我们想要跳转此标签.可能吗?

我举一个例子(伪代码)来澄清:

GameMenu: //This part will be executed when program runs
//Go in a loop and continue until user press to [ENTER] key

while(Game.running) //Main loop for game
{
    Game.setKey(GameMenu, [ESCAPE]); //If user press to [ESCAPE] jump into GameMenu
    //And some other stuff for game
}    
Run Code Online (Sandbox Code Playgroud)

goto c++11

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

为什么glGetAttribLocation为两个不同的属性返回相同的值?

我是OpenGL的初学者,我编写了一个顶点着色器并执行其他操作,例如编译着色器.

顶点着色器:

in vec4 vPosition;
in vec4 vColor;

out vec4 Color;

void main(void){
    gl_Position = vPosition;
    Color = vColor;
}
Run Code Online (Sandbox Code Playgroud)

用C++编写这段代码之后:

GLuint PositionID = glGetAttribLocation(SProgram, "vPosition");
GLuint ColorID = glGetAttribLocation(SProgram, "vColor");

cout << "vPosition location: " << PositionID << endl << "vColor location: " << ColorID << endl;
Run Code Online (Sandbox Code Playgroud)

结果非常有趣,两个相同的位置:

vPosition location: 4294967295
vColor location: 4294967295
Run Code Online (Sandbox Code Playgroud)

那是什么原因?

c++ opengl opengl-3

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

标签 统计

c++ ×4

c++11 ×2

opengl ×2

assembly ×1

c ×1

exit ×1

function-parameter ×1

goto ×1

opengl-3 ×1

x86-64 ×1