| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5776 人关注过本帖
标题:求重写putpixel函数
只看楼主 加入收藏
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 

你在图形窗口下吗,系统中别的图形程序运行没问题吧?Framebuffer加载配置了没?

2007-09-04 16:22
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

运行curses.h库调试过程没有问题。

Framebuffer没有配置,需要如何配置呢


2007-09-05 12:27
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

我在Linux字符命令行模式下,写程序和调试程序的。

如同下面的这个测试例子,这里面也同样没有设置Framebuffer啊。可结果一样的,仍不能初始化成功。
我在本地机器加载linux自带的curses.h库,写程序调试过程没有出现任何问题。

难道配置Framebuffer是加载SDL.h库必须的一个步骤吗,应该怎么做呢

#include <SDL/SDL.h>
#include <stdio.h>

int main() {

printf("Initializing SDL.\n");

/* Initialize defaults, Video and Audio */
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {
printf("Could not initialize SDL: %s.\n", SDL_GetError());
exit(-1);
}

printf("SDL initialized.\n");

printf("Quiting SDL.\n");

/* Shutdown all subsystems */
SDL_Quit();

printf("Quiting....\n");

exit(0);
}


2007-09-05 12:39
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 

如果你不是在XWINDOW下面,而且没开启framebuffer,就需要手动进行配置。配置完了才能运行基于SVGA的图形程序,根据启动管理器的不同,会有两种配置方法:
如果你用的 grub来引导系统,要修改 /etc/grub.conf文件,打开此文件找到类似这样的一行(这里的例子是Fedara core4的):
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet
在最后加上个VGA的显示模式,例如1024X768,256色的773号模式:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet vga=773
改过保存后,重启系统,进入Linux ,就能看出是否起作用了。

如果你用 lilo引导,就要改 /etc/lilo.conf这个文件 ;lilo的配置比较简单,因为vga=xxx是独立的一行。并且lilo.conf中有详细的配置参数,也就是我下面列出的那些模式号,就是来自 lilo.conf的。想打开哪个参数,就把vga=xxx前面的注释“#”号去掉就行,当然不能同时打开多个(要注意的是:如果改了lilo.conf后,得执行 lilo -v):
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769

2007-09-05 13:42
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 
确认用的是grub来引导系统。

并且我在本地的文件里添加下面的划线部分的参数。
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet vga=773

但重新启动系统后,问题依旧。。。哭了

root\> could not initialize SDL: No available video device

2007-09-05 16:12
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

SDL的初始化还是有问题。如之奈何?


2007-09-06 11:27
一笔苍穹
Rank: 1
等 级:新手上路
帖 子:640
专家分:0
注 册:2006-5-25
收藏
得分:0 
你的机器是什么配置啊?能进XWINDOW不?命令是startx
2007-09-06 16:37
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

startx不能启动图形化界面,因为我是用SSH远程登陆服务器。

服务器已经是图形化界面了,我的本地不能启动图形化界面


2007-09-10 19:08
wangxy200696
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-10-15
收藏
得分:0 
想写一个点,应孩先了解显卡寄存器和你想用那一个显示模式
2007-09-11 01:57
maqingqin
Rank: 1
等 级:新手上路
帖 子:23
专家分:4
注 册:2010-2-1
收藏
得分:0 
void dian(int x,int y,int color)
{union REGS r;
 r.h.ah=0x0c;
 r.h.al=color;
 r.h.bh=0;
 r.x.cx=x;
 r.x.dx=y;
 int86(0x10,&r,&r);
}
2010-08-17 13:35
快速回复:求重写putpixel函数
数据加载中...
 
   



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

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