亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我見到這個函數在一個程序上 ,是這么寫來初始化圖形系統的?

我見到這個函數在一個程序上 ,是這么寫來初始化圖形系統的?

C
MMMHUHU 2022-12-22 17:13:22
void init(void){int gd=DETECT,gm;initgraph (&gd,&gm,"c:\\tc");cleardevice ();}請問一下,這個函數的參數&gm,是怎么回事?有時是graphmode,有時是gmode.
查看完整描述

2 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

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的驅動程序裝入到用戶的執行程序中。 
經過上面處理,編譯鏈接后的執行程序可在任何目錄或其它兼容機上運行。 
假設已作了前兩個步驟,若再向例6中加registerbgidriver()函數則變成: 
例7: 
#include<stdio.h> 
#include<graphics.h> 

int main() 


int gdriver=DETECT,gmode; 

registerbgidriver(EGAVGA_driver): / *建立獨立圖形運行程序 */ 

initgraph( &gdriver, 
&gmode,"c:\\tc"); 

bar3d(50,50,250,150,20,1); 

getch(); 
closegraph(); 

return 0; 


上例編譯鏈接后產生的執行程序可獨立運行。 



 


查看完整回答
反對 回復 2022-12-25
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

initgraph()
功 能: 初始化圖形系統
函數原型: void far initgraph(int far *graphdriver, int far *graphmode,
char far *pathtodriver);
頭文件:graphics.h
程序示例
#include "graphics.h"
#include "stdio.h"

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode= graphresult();

if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}

/* draw a line */
line(0, 0, getmaxx(), getmaxy());

/* clean up */
getch();
closegraph();
return 0;
}


查看完整回答
反對 回復 2022-12-25
  • 2 回答
  • 0 關注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號