| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖
标题:在cfree IDE中如何控制SVGA?
只看楼主 加入收藏
lyood
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-15
收藏
 问题点数:0 回复次数:8 
在cfree IDE中如何控制SVGA?

我想用cfree显示图片,如何初始化到图形模式?
在turbo c中定义一个union REGS r;设定r的值,再调用int86(0x10,&r,&r);就可以实现!
但是cfree里没有定义REGS,那要如何实现?

搜索更多相关主题的帖子: IDE SVGA cfree REGS 定义 
2007-04-04 15:28
lyood
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-15
收藏
得分:0 

版主,来看看!
怎么做


2007-04-04 15:45
hjj1123
Rank: 1
等 级:新手上路
帖 子:198
专家分:0
注 册:2006-7-29
收藏
得分:0 
加上#include<dos.h>试试.

qq:674940174
2007-04-04 17:03
lyood
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2006-6-15
收藏
得分:0 

加上了,我看了dos.h文件,里面根本没定义union REGS,在turbo c版本中定义有!


2007-04-04 20:23
jig
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
这个属于编译器知识,相信cfree里面一定有函数或其他的代替 int86,__int__,geninterrupt等中断函数,你可以查查资料多试试

个人网站 -  http://.h001.
2007-04-05 08:49
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
在CFREE下可以用GDI和DX~~
2007-04-05 11:02
hjj1123
Rank: 1
等 级:新手上路
帖 子:198
专家分:0
注 册:2006-7-29
收藏
得分:0 
你把TC下的DOS.H编译成.OBJ文件加进去,再在头文件里加上就OK了

qq:674940174
2007-04-05 19:27
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
是吗,在编译16位程序时吗?没试过
2007-04-06 08:55
RockCarry
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:13
帖 子:662
专家分:58
注 册:2005-8-5
收藏
得分:0 
应该不可行,要看编译器能生成那些平台的目标代码,如果只支持windows平台,那么生成的始终是windows程序,剩下的也就不用解释了。
一班来说目标文件(.obj或.o)可以跨平台(仅指软件平台)的使用,最终的可执行程序或动态库,还要linker来完成。
但是编译出来的目标文件(.obj或.o)在PC机平台上还有实模式和保护模式的区别,另外不同编译器对段名和导出符号的命名也许不同(特别是C++中的函数名)。
许多朋友总是弄不清楚实模式和保护模式的区别,最大区别不是别的,而是寻址方式的不同。要记住保护模式下能够执行的指令,在实模式下几乎都能执行。实模式下,是通过段加偏移来寻址,而保护模式下的段寄存器存放的不是实际的地址,而是一个选择符。
7楼所讲的将DOS.h文件编译成dos.obj是绝对不可行的。dos.h文件中只是包含了函数声明等,并没有包含实际代码,编译成dos.obj也没有任何意义,因为生成的目标代码为零。
如果要解决这个问题,一般的思路是,先明确你要实现的功能,再看编译器所提供的支持。先看看编译器生成那些平台的目标代码,平台包括硬件平台,比如是x86的、ARM的、还是MIPS的。在看编译器能生成的目标文件格式,是OMF的,还是COFF的(OBJ文件也有很多标准的,有兴趣的可以看看)。然后再看,你的Linker能生成那些操作系统的可执行文件或动态库,比如DOS,还是Linux,还是windows。然后再看编译器提供了哪些库,一般C/C++的标准库肯定是有的,另外编译器一般都会提供很多的扩展库,比如TC的graphics。弄清楚编译器所支持的操作系统平台是非常关键的,因为操作系统为我们提供了太多东西,DOS下有int21h,windows下有WinAPI。
总之在学习和做开发之前,先要明确自己要实现的功能,然后再深入的理解平台。
最后再写上我总结的一句话:
软件开发,就是在已有平台上,深入的理解平台,然后最大限度的利用平台已经提供的功能,去实现平台没有实现,而你希望实现的功能。

[此贴子已经被作者于2007-4-6 10:05:50编辑过]

2007-04-06 10:03
快速回复:在cfree IDE中如何控制SVGA?
数据加载中...
 
   



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

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