c语言中的graphics.h问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中的graphics.h问题相关的知识,希望对你有一定的参考价值。
在很多网站上的一些c程序,通常能看到一个头文件(graphics.h),可是在编译时,无论用那种编译软件都说没有这个头文件,怎么回事?怎么解决?
用的编译器有:visual c++, codeblocks, wintc, tc;基本上都编译不了
Turbo C对于用initgraph()函数直接进行的图形初始化程序,
在编译和链接
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph()
语句时,
再从该函数中第三个形式参数char *path中所规定的路径中去找相应的
驱动程序。若没有驱动程序, 则在C:\TC中去找,
如C:\TC中仍没有或TC不存在,
将会出现错误:
BGI Error: Graphics
not initialized (use 'initgraph')
因此, 为了使用方便,
应该建立一个不需要驱动程序就能独立运行的可执行
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):
1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2.
在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3.
在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。
经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。 参考技术A 我曾经也遇到过这种问题。
1,最简单的方法是换一个编译器,比如换成Visual C++(或者turbo C)。
2,还可以去别的地方找到graphics.h文件,然后拷贝到你的include的目录里面,然后在你的编译器里面更改相应的目录就可以了。
建议使用第一种方法。 参考技术B TC里作图时用的头文件。在VC里已经不再使用,因为它是DOS时代的产物。VC里是面向对象的,基于消息的窗口过程。都是和windows API打交道的,也就是都是32位的。 参考技术C 去网上找一个放在你的工程里就OK了 参考技术D 我的tc2.0就有呀.不行在网上下一个
c语言中graphics.h头文件添加了怎么不起作用???
这个不是你编译器自带的库。你光添加头文件是没用的。这就好比你想看一本数,你光知道书的名字,却没有真正的书。你需要到网上自己下载相关库,在添加到编译器里。 参考技术A 只有头文件是不行的,还要有相应的库文件,就是 .lib 扩展名。手动拷贝比较麻烦,先装 Vc, 然后直接用 easyx 安装就有 graphics.h。 参考技术B C/C++标准库里面都没有图形绘制的函数,你没有更新这个文件吧,试试下面的代码!如果是DevC++的话:选择工具->检查更新->选择“ConsoleGDI”下载安装。就可以在文件->新建工程->Other->ConsoleGDI,建立和TC一样的图形模式的程序了。
如下代码(按你的要求的例子)可以运行:
#include <winbgim.h>
#include <conio2.h>
int main()
initwindow(640,480); //open a 640x480 graphics window
setcolor(WHITE);
circle(320,240,100); //Draw a circle
getch(); //wait for user to press a key
cleardevice();
lineto(20,20);
getch();
moveto(50,50);
lineto(90,90);
getch();
closegraph(); //close graphics window
return 0;
以上是关于c语言中的graphics.h问题的主要内容,如果未能解决你的问题,请参考以下文章