小编Rob*_*nto的帖子

GLFW在创建窗口时有很长的延迟

我是第一次使用GLFW.拉出最新的稳定版本(3.2.1),我正在使用GLFW网站上的示例代码:

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and …
Run Code Online (Sandbox Code Playgroud)

c opengl winapi glfw visual-studio-2015

6
推荐指数
0
解决办法
357
查看次数

LNK 2001无法解析的外部符号_mainCRTStartup MASM

我正在我的大学学习汇编语言,并获得了包含MASM 615的CD,并且正在使用Irvine32包含库。一切都可以在学校计算机上正常运行,但是当我尝试在家用计算机上编译并运行相同的代码时,出现链接错误。

INCLUDE Irvine32.inc

.code
main PROC

mov eax,10000h      ; EAX = 10000h
add eax,40000h      ; EAX = 50000h
sub eax,20000h      ; EAX = 30000h
call DumpRegs

exit
main ENDP
END main
Run Code Online (Sandbox Code Playgroud)

该代码在学校的PC上运行良好。在家里,我进入DOS,将路径设置为MASM文件夹,然后执行Make32文件。

这是我得到的错误:

LINK32 : error LNK2001: unresolved external symbol _mainCRTStartup
test.exe : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

该程序进行编译(我得到了.lst,.obj和.pdb文件),仅此而已。我想这是因为我家里有一个64位操作系统,但是我不知道如何在64位环境中启动和运行它-CD或本书在64位系统上没有任何内容。只有一个make16或make32 .bat文件。这真是个无赖,因为这意味着除非有工作要做,否则我不能在家做任何工作?

assembly linker masm irvine32

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

检查错误时,我的重载>>运算符中的无限循环

std::istream & operator >>(std::istream & ins, Rational & target)
{
    int num, den;
    char symb;          
    std::cout << "Please enter a rational number: ";
    ins >> num >> symb >> den;
    std::cout << std::endl;

    if(validateInput(num, symb, den)){
        target = Rational(num, den);            
        return ins;
    }
    else{
        std::cin >> target;
    }
}

bool validateInput(int num, char symb, int den)
{
    if(symb != '/'){
        std::cout << "Error: Illegal format. Please use '2/4'." << std::endl;
        return false;
    }
    if((static_cast<int>(num) != num) && (static_cast<int>(den) != den)){ …
Run Code Online (Sandbox Code Playgroud)

c++ error-handling operator-overloading cin infinite-loop

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