前进。。。。。。
昨天看了不少学长和前辈的blog,知道这么多的他们正不懈且坚定在计算机的学习与研究的路上走着,我感觉自己要树立目标,专心地前进了。我的blog名取Totems(图腾)只是一时兴起,但却坚定了我要有所作为的决心。
顺带一个c语言图形问题:c图形独立运行程序。
网上给了很多,都是一个样,但我们不知道具体怎么做;
2. 独立图形运行程序的建立
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的驱动程序装入到用户的执行程序中。此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
上述方法可用,我试过,具体做法:将tc中BGIOBJ.EXE, EGAVGA.BGI, TLIB.EXE, 放在含有GRAPHICS.LIB的LIB文件夹中,再进行上述操作。
dos下: C:\TC\LIB>BGIOBJ EGAVGA
将显示 BGI to OBJ version2.0 copyright<c>...International
c:TC\LIB >TLIB GRAPHICS.LIB+EGAVGA
显示‘EGAVGA.BGI’converted into ‘EGAVGA.OBJ’
就成功了。tc2.0英文和汉化版都可以,我试过了。处理不好发邮件给我:458311553@qq.com
成功后别忘了,在程序中加 registerbgidriver(EGAVGA_driver);