小编B. *_*tas的帖子

指令指针与程序计数器?

指令指针和程序计数器之间有什么基本区别吗?我相信他们都指的是同样的东西,即eip/rip寄存器,尽管到目前为止我做的研究还不是很清楚.

cpu cpu-registers

10
推荐指数
1
解决办法
4102
查看次数

为什么我需要 std 和字符串库才能在 C++ 中使用字符串

我知道该string类型存在于namespace std. 我还知道需要<string>包含一个库才能使用该string类型。我的问题是:为什么我需要两者(包括库并使用 std 命名空间)来定义字符串?为什么我不能通过包含库来使用它?namespace std更一般地说,库中缺少什么内容?

c++ string std

5
推荐指数
1
解决办法
2178
查看次数

gcc在更改变量声明顺序后保留内存分配

我有这种形式的功能:

void authenticate()
{
    int auth_flag;
    char password[16];
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我调试程序时,我可以看到auth_flag变量位于堆栈中的密码变量之后(看起来很正常).

现在当我改变变量声明的顺序时:

void authenticate()
{
    char password[16];
    int auth_flag;
    ...
}
Run Code Online (Sandbox Code Playgroud)

我看到变量auth_flag仍然在堆栈中的密码变量之后分配.

我正在寻找的是任何避免/控制它的方法,无论是使用编译选项还是使用代码内编译器指令.

c gcc

5
推荐指数
1
解决办法
279
查看次数

简单的openGL程序不会通过编译

我正在尝试在openGL中编译一个非常简单的程序:

#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>

using namespace glm;

int main()
{
    if( !glfwInit() )
    {
            fprintf( stderr, "Failed to initialize GLFW\n");
            return -1;
    }

    glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); // Use OpenGL 3.X
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); // Use openGL X.3
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);  
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 

    // Open a window and create OpenGL context
    GLFWwindow* window; // May be needed to make it global
    window = glfwCreateWindow(1024, 768, "Tutorial 01", NULL, NULL);
    if(window == NULL) …
Run Code Online (Sandbox Code Playgroud)

c++ opengl g++ glfw

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

标签 统计

c++ ×2

c ×1

cpu ×1

cpu-registers ×1

g++ ×1

gcc ×1

glfw ×1

opengl ×1

std ×1

string ×1