| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:初学c图形的疑惑
只看楼主 加入收藏
逝水流年
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-7
收藏
 问题点数:0 回复次数:8 
初学c图形的疑惑

#include<stdio.h>
#include<conio.h>
#include<dos.h>
#define VGA256 0x13
#define TEXT_MODE 0x03
void Set_Video_Mode_Asm(int mode){
asm{
mov AH,0
mov AL,mode
int 10h
ret
}
}
void main(){
Set_Video_Mode_Asm(VGA256);
line(0,0,getmaxx(),getmaxy());
closegraph();
getch();
}
我用的是Turbo C For Windows编译的,当我给上面的程序取名hanghuibian.c的时候显示:
错误 : 不能找到文件'F:\hanghuibian.C'
可用内存 414392
★★ 提示:恭喜您,编译成功,如果您的程序里面包含了图形功能则您还要包含'Graphics.lib'到您要发布的目录下才能正确运行。★★
当我给程序取名huibian.c的时候编译显示:
f:\huibian.c:
错误 f:\huibian.c 8: 未定义的符号'mov' 在函数
警告? f:\huibian.c 8: 无效操作代码 在函数
错误 f:\huibian.c 8: 语句缺少';' 在函数
警告? f:\huibian.c 12: 参数'mode'从未使用 在函数
错误 f:\huibian.c 13: 说明语法错误
*** 3 错误在编译 ***
可用内存 380668
★★提示: 对不起!编译失败,您还需要检查错误。★★
我实在是搞不懂,难道文件的编译和取名有直接的关系?再就是为什么一个编译成功另一个会失败呢?取名的时候应该有字符限制的吧?即使有限制,但是编译的差别也太大了吧?怎样才能正确运行这个程序呢?请大家帮忙解释一下,谢谢....

搜索更多相关主题的帖子: 图形 初学 
2007-10-21 11:08
diaoxue
Rank: 1
等 级:新手上路
帖 子:142
专家分:0
注 册:2007-6-1
收藏
得分:0 
vc好象没有graphics.h
真郁闷

上善若水,水善利万物而不争,处众人之所恶
2007-10-21 11:56
逝水流年
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-7
收藏
得分:0 
看书上说的是:除了利用图形函数库进入图形模式和绘制各类图形外,也可以直接通过和硬件打交道来实现图形模式和图形绘制,我现在看的书上(当然只是入门)说的是利用触发BIOS的10H视频服务中断13H功能来进入图形模式。这样说来,不用graphics.h也是可以的吧?是吗?楼上的帅哥?

2007-10-21 12:21
ACMer
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-10-17
收藏
得分:0 
没意义
2007-10-21 12:37
逝水流年
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-7
收藏
得分:0 
不好意思,本不想耽误大家宝贵的时间,我也觉得问这个问题确实没什么意义,可是高手不还是从头开始学的吗?我确实搞不懂,只怪我太菜,4楼的能帮我解答一下这个问题吗?期待中.....

2007-10-21 12:44
jinghua
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-9-29
收藏
得分:0 
2007-10-22 14:39
逝水流年
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-7
收藏
得分:0 
大家帮一下忙啦,一天不能上网了,看书也不懂,大家帮忙回答下吧,说详细点可以吗?我是新手,谢谢啦.....

2007-10-22 20:45
逝水流年
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-7
收藏
得分:0 
今晚自己试了一下,原来是这样弄就可以了:
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#define VGA256 0x13
#define TEXT_MODE 0x03
void Set_Video_Mode_Asm(int mode){
asm mov AH,0
asm mov AL,mode
asm int 10h
asm ret
}
void main(){
Set_Video_Mode_Asm(VGA256);
line(0,0,getmaxx(),getmaxy());
closegraph();
getch();
}
这样编译就成功了,可是我看的这本书上说c调用汇编的时候,可以合起来写的啊?在这儿为什么不可以呢?其实问题到这才出现,编译虽然成功了,但是运行的时候怎么什么都没有呢?只是黑屏一下。还有我看书上的一些程序,虽然在我的电脑上面编译成功了,但运行的时候不知道为什么显示:NTVDM CPU遇到无效的指令.我的电脑是xp系统,AMD Athlon3000+,然后就不能运行了。哪位高手能指点一下,我想知道原因,先谢谢啦,问题太简单,让大家见笑啦.....

2007-10-23 21:34
yexinring
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-10-22
收藏
得分:0 
再看看!!!!
2007-10-23 22:30
快速回复:初学c图形的疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025477 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved