| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 764 人关注过本帖
标题:直接写屏
只看楼主 加入收藏
hjj1123
Rank: 1
等 级:新手上路
帖 子:198
专家分:0
注 册:2006-7-29
收藏
 问题点数:0 回复次数:1 
直接写屏
我上次发了关于直接写屏的帖子没啥反映 现在终于找到了一个能运行的代码
能运行的是
#define VGA256 0x13
#include<conio.h>
#include<dos.h>
#include<stdio.h>
void main()
{ int x,y;
union REGS inregs,outregs;
inregs.h.ah=0;
intregs.h.al=(unsigned char)VGA256;
int86(0x10,&inregs,&outregs);
for(x=100,y=100;x<=300;x++)
*(unsigned char far *(0xA0000000L)+y*320+x)=12;
getch();
}
而上次的代码是
#define VGA256 0x13
#include<conio.h>
#include<dos.h>
#include<stdio.h>
void main()
{ int x,y;
union REGS inregs,outregs;
inregs.h.ah=0;
intregs.h.al=(unsigned char)VGA256;
int86(0x10,&inregs,&outregs);
unsigned char far *buffer=(unsigned char far *)0xA0000000L;
for(x=100,y=100;x<=300;x++)
buffer[y*320+x]=12;
getch();
}
着段代码在编译的时候出错
Error ;Expression syntax in function main
这是怎么回事呢?希望那位牛人能解答一下.

搜索更多相关主题的帖子: include 
2006-10-05 12:00
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 

#define VGA256 0x13
#include<conio.h>
#include<dos.h>
#include<stdio.h>
void main()
{ int x,y;
union REGS inregs,outregs;
unsigned char far *buffer=(unsigned char far *)0xA0000000L;
inregs.h.ah=0;
inregs.h.al=(unsigned char)VGA256;
int86(0x10,&inregs,&outregs);

for(x=100,y=100;x<=300;x++)
buffer[y*320+x]=12;
getch();
}
给你改了一下,两处错误:
1、intregs.h.al=(unsigned char)VGA256;中的 intregs 多了一个字母“t”;
2、unsigned char far *buffer=(unsigned char far *)0xA0000000L,在C语法中,定义变量必须放在代码块中可执行语句之前,不过在C++中这样是合法的。

2006-10-05 13:13
快速回复:直接写屏
数据加载中...
 
   



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

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