C++ C++;FreeBasic中ScreenRes的等价函数

C++ C++;FreeBasic中ScreenRes的等价函数,c++,console-application,freebasic,C++,Console Application,Freebasic,使用FreeBasic,我可以使用函数ScreenRes创建并打开新屏幕。比如说, #include "fbgfx.bi" ScreenRes 640, 480, 32 Sleep() 将创建深度为32的640 x 480屏幕 P>那么,C++中是否有与之等价的函数? 注意:我使用的是Ubuntu 14.04。我更喜欢跨平台或基于Linux的函数,而不是基于Windows的.< /p> 我不太熟悉Linux,但是,C++中的这种性质在C++中是不那么容易的,因为C++是一种语言,它不知道

使用FreeBasic,我可以使用函数
ScreenRes
创建并打开新屏幕。比如说,

#include "fbgfx.bi"

ScreenRes 640, 480, 32

Sleep()
将创建深度为32的640 x 480屏幕

<> P>那么,C++中是否有与之等价的函数?


注意:我使用的是Ubuntu 14.04。我更喜欢跨平台或基于Linux的函数,而不是基于Windows的.< /p> 我不太熟悉Linux,但是,C++中的这种性质在C++中是不那么容易的,因为C++是一种语言,它不知道什么是“屏幕”。有一些库和框架可以帮助您,如SDL、SFML等,它们将为您指明正确的方向。

不,没有。C++本身是一种非常纯的语言,只包含基本功能(例如,通用列表、排序算法、字符串或内存管理工具)。我不知道FreeBasic,但从你的问题来看,它似乎是那些已经包含了很多特定高级功能的语言之一。这可能是诅咒,也可能是美德,这取决于你的要求


如果你需要C++中的图形,那么你必须“(=)>诅咒或“CAN”(=>美德)使用一个符合你需要的第三方库。对于屏幕上的完整像素控制,考虑一下。

正如大家所说,C/C++中没有这样的东西。要在C中绘制图形,您需要依赖外部库,这可能是您不想做的,因为您说您更喜欢“基于linux的函数”

不幸的是,仅通过操作系统附带的库访问Linux中的图形非常复杂,并且您的程序无法移植到其他系统。(如果您仍想这样做,您可能需要阅读有关Linux线性帧缓冲区或X的内容)

我认为最接近您所要求的解决方案是,您可以得到一个包含简单原语的小型库。我认为SVGALib是这样的:

我没有使用它,但是对于我所读的,它类似于图形。h是用Turbo/Borland C++来的。例如,可以使用SVGALib执行此操作:

#include <stdlib.h>
#include <vga.h>

int main(void)
{
   vga_init();
   vga_setmode(G320x200x256);
   vga_setcolor(4);
   vga_drawpixel(10, 10);

   sleep(5);
   vga_setmode(TEXT);

   return EXIT_SUCCESS;
}
#包括
#包括
内部主(空)
{
vga_init();
vga_设置模式(G320x200x256);
vga_设置颜色(4);
vga_像素(10,10);
睡眠(5);
vga_设置模式(文本);
返回退出成功;
}

在那里,您可以看到如何设置模式。我很确定它也支持32位:)

谢谢您的快速重播。我用FreeBasic创建了一个小的模拟程序。但是,我需要包括OOP方面。那么,我将选择哪些库(仅用于一个小程序)?@AsisPattisahusiwa:为什么“需要”包含OOP方面?这就像说“我需要使用锤子,但我仍在寻找一个好的理由”。对不起,我的意思是,FreeBasic仍在开发中,不完全支持OOP(纯OOP)。在我的例子中,我坚持使用FreeBasic编写复杂的类关系。所以,我想我会用C++来创建程序。但是,我不知道如何用C++来创建简单的屏幕/控制台进行仿真。我不会在Linux上使用默认屏幕(或在windows中使用命令提示符)。我更喜欢创建一个新的。正如我在前面的评论中提到的。我只需要创建一个小的模拟程序。如果我使用了第三方库。哪一个是我可以使用的简单方法?我看不出控制屏幕分辨率和创建模拟之间的关系。再看看我的答案,我推荐SDL,你说得对。我不需要任何类来创建屏幕。我需要用于数据结构或创建模拟对象以及它们之间的交互(我不能使用FreeBasic)的类。我只需要知道如何用C++创建屏幕,这样我就可以把任何对象都放进去。但官方文件应该始终是您的首选。总之,你对“OOP”的定义太宽泛了。OOP涉及虚拟函数。仅仅使用类并不能使任何东西面向对象。请看C++的标准容器类(如<代码> STD::vector < /代码>)——它们不是面向对象的,并且没有虚拟函数。