我们在编写TURBO C的图形程序时,很多时候要调用系统提供的图
形函数,但调用图形函数之前,往往要对屏幕进行图形初始化initgr
aph(GraphDriver,GraphMode,DriverPath)?而TURBO C系统的图
形库包括了GRAPHICS.H?GRAPHICS.LIB?*.BGI(显示驱动程序)
,在系统编译源程序时,只是把GRAPHICS.H及GRAPHICS.LIB装入
运行程序中,但并没有把相应的驱动程序装入到执行程序中,所以程
序在运行时要根据DriverPath提供的路径查找驱动程序?这样所生
成的执行程序就不能脱离驱动程序运行,如果在别的机器(没有相应
的驱动程序)上运行时,就会出现下面信息:
BGI ERROR:GRAPHICS NOT INITALIZED(USE INITGRAPH)
当然,如果把相应的驱动程序拷到DriverPath下,该程序也能正
常运行,但是我们更想生成一个能够独立运行的程序,也就是说脱离
外部环境,增加可移植性,我们可以利用TURBO C系统提供的功能完成
?例如对EGAVGA显示驱动程序来说,方法如下:
1.把相应的驱动程序(*.BGI)转换成目标代码(*.OBJ)?
C:\TC>BGIOBJ EGAVGA EGAVGA
2.把生成的目标代码加入到图形库(GRAPHICS.LIB)中?
c:\TC>TLIB GRAPHICS.LIB+EGAVGA.OBJ
3?登记驱动程序?要在initgraph()前运行:
registerbgidriver(EGAVGA-driver)
□湖北 周富成
Comments (1)

Write comment




提示说 EGAVGA.BGI找不到啊