0

我用 C++ 编写了一个代码,如下所示。程序编译成功。但是,当我尝试运行 .exe 文件时,我没有得到想要的输出。

我的代码:

#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>

int main( )
{
    int gd = DETECT, gm;
    initgraph(&gd, &gm, (char*)"");
    setcolor(BLUE);
    line(100, 100, 200, 200);
    getch();
    closegraph();
}

我在 Windows 命令提示符中使用以下命令来编译程序:

g++ -m32 -o trial trial.cpp -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 "C:\TDM-GCC-64\x86_64-w64-mingw32\lib\libbgi.a"

要运行我的 .exe 文件: trial对于 cmd 和./trial在 powershell 中。

但在此之后我没有得到任何输出。为什么会这样?

在此处输入图像描述

4

1 回答 1

1

编辑:-L您在指向您的libbgi.a图书馆的路径之前 丢失了。此处提供更多详细信息:目录选项


从字面上看,graphics.h这些天没有人使用。正如其他人所指出的,还有更好的选择。

但是 StackOverflow 上有很多-1073741819 (0xC0000005)关于 using的错误代码的问题WinBGIm,没有任何答案。因此,我想在这里发布一个。

此错误代码是在分段错误时生成的。可能有很多因素导致它,但对于WinBGIm,它通常是由于库本身的错误。

要使其工作,您必须更改line 302and graphics.hwinbgim.h官方来源下载)

    int left=0, int right=0, int right=INT_MAX, int bottom=INT_MAX,

    int left=0, int top=0, int right=INT_MAX, int bottom=INT_MAX,

差异应该是微不足道的;早些时候有一个错字,因为有两个名为right.


此处提供了无错误的库和头文件。

其实我现在找到了类似的答案。未来的读者可以参考这个

于 2020-09-07T15:30:57.263 回答