opengl-linux api为什么只有内存 线程 进程 文件方面的?

问题描述

linux api为什么只有内存 线程 进程 文件方面的?
1、那么界面是不是要靠OpenGL? QT底层是OpenGL实现的吗?
2、我如果不需要好的界面,只有API能实现任何功能吗?还是得学些别的?

解决方案

终极解答:
1. 图形界面GUI,有很多不同的实现库,而且分很多层逐级实现,例如你说的QT界面库,它在不同的操作系统平台上底层依赖的更基础的图形库也不同,
在Windows平台依赖GDI32.dll,在嵌入式平台可能依赖于fb,也可能依赖于XWindow。至于OpenGL是一个相当底层的图形库标准,不同平台的具体
实现方式当然也不相同。目前,微软为了自身Direct3D图形库的发展,已经不直接支持OpenGL,所以在Windows上进行OpenGL编程,需要第三方DLL
从显卡驱动导出OpenGL API。

  1. 严格来说GUI并不是操作系统的必备功能。尤其是在今天B/S程序占主流的年代,服务器很少配有显示器,更别说GUI了。当然了GUI对于桌面程序非常重要,Windows也就是靠可靠好用的GUI才赢得了天下。如今智能手机的兴起也是与漂亮的GUI分不开。

至于该学什么,这要看你的需求。个人建议按照需求和兴趣去学习。如果你的主要工作是开发Web程序,那么GUI就是html。如果你做桌面开发,或多或少离不开GUI的功能。

GUI编程是很复杂的,而且需要美工,如果不是专业做这个,浅尝辄止即可。把更多的精力放到那些更重要更广泛的功能上: 线程进程,文件系统,网络,架构设计。

解决方案二:
linux仅仅是一个内核,这一点和Windows不同,如果要类比,Linux相当于NTDLL中的功能。
至于之上的,有各种不同的库,比如GTK GNOME KDE等等。当然,理论上来说,什么函数都不要也能做界面,因为本质上界面就是画图,而画图就是操作硬件。
至于OpenGL,另一个回答中我说了,这个不是任何界面库所依赖的,因为要考虑和遗留显卡的兼容问题。

解决方案三:
linux比Windows更开放,各个API功能也比Windows上面灵活,界面方面会比较少一点。
OpenGL底层肯定也是封装的API

时间: 2024-10-29 10:53:15

opengl-linux api为什么只有内存 线程 进程 文件方面的?的相关文章

Linux基础命令介绍九:进程与内存

计算机存在的目的就是为了运行各种各样的程序,迄今我们介绍的绝大多数命令,都是为了完成某种计算而用编程语言编写的程序,它们以文件的形式保存在操作系统之中(比如/bin下的各种命令);但静态的程序并不能"自发的"产生结果,只有在操作系统中为其指定输入数据并运行起来,才能得到输出结果.而操作系统中程序运行的最主要表现形式便是进程. 静态程序可以长久的存在,动态的进程具有有限的生命周期.每次程序运行的开始(如键入一条命令后按下回车键),操作系统都要为程序的运行准备各种资源,这些资源绝大多数都处

linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定

背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况.一. linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER       PID  %CPU    %MEM    VSZ   RSS TTY      STAT    START   TIME COMMAND解释:linux 下的ps命令USER 进程运行用户PID    进程编号%CPU 进程的cpu占用率%MEM 进程的内存占用率VSZ 进程所使用的虚存

在Linux中可视化显示内存占用情况的方法

  物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应用线程会同时竞争更多的内存空间. 如果要监测系统内各种资源的使用情况(比如说CPU或内存),图形化显示是一种高效的方法,通过图形界面可以快速分析各用户和进程的资源消耗情况.本教程将给大家介绍在linux下图形化分析内存使用情况的方法,使用到命令行工具是smem. 物理内存使用情况: RSS .

Linux文件共享(五)——线程共享文件

注:转载请注明出处   作者:lvyilong316 4.1 Linux线程实现 在谈论线程之间共享文件之前,我想首先简单的介绍下linux线程的实现.最初的进程定义都包含程序.资源及其执行三部分,其中程序通常指代码,资源在操作系统层面上通常包括内存资源.IO资源.信号处理等部分,而程序的执行通常理解为执行上下文,包括对cpu的占用,后来发展为线程.在线程概念出现以前,为了减小进程切换的开销,操作系统设计者逐渐修正进程的概念,逐渐允许将进程所占有的资源从其主体剥离出来,允许某些进程共享一部分资源

Linux环境进程间通信共享内存

由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以. 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝.对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件.实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域.而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存

Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介

原文:Linux内核分析(四)----进程管理|网络子系统|虚拟文件系统|驱动简介 Linux内核分析(四) 两天没有更新了,上次博文我们分析了linux的内存管理子系统,本来我不想对接下来的进程管理子系统.网络子系统.虚拟文件系统在这个阶段进行分析的,但是为了让大家对内核有个整体的把握,今天还是简单的介绍一下剩余的几个子系统,我们对这几个子系统的分析,只要了解其作用和部分内容即可,不必深究,等我们写上几个驱动,到时候按照驱动再来分析这几个子系统我们就清晰多了. 在http://www.cnbl

在 Linux 上如何清除内存的 Cache、Buffer 和交换空间

像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好.但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法. 如何在 Linux 中清除缓存(Cache)? 每个 Linux 系统有三种选项来清除缓存而不需要中断任何进程或服务. (LCTT 译注:Cache,译作"缓存",指 CPU 和内存之间高速缓存.Buffer,译作"缓冲区",指在写入磁盘前的存储再内存中的内容.在本文中,Buf

查看Linux服务器下的内存使用情况

查看Linux服务器下的内存使用情况 ,可以使用命令free -m.注意此命令只在Linux下有效,在FreeBSD中没有此命令.命令如下所示: used:已经使用的内存数 free:空闲的内存数 shared:多个进程共享的内存总额 -buffers/cache:(已用)的内存数,即used-buffers-cached +buffers/cache:(可用)的内存数,即free+buffers+cached 得出结论: 可用内存的计算公式为: 可用内存=free+buffers+cached

Linux内核中的内存管理浅谈

 [十月往昔]--Linux内核中的内存管理浅谈 为什么要叫做"十月往昔"呢?是为了纪念我的原博客. 不知道为什么,突然想来一个新的开始--而那个博客存活至今刚好十个月,也有十个月里的文档. 十月往昔,总有一些觉得珍贵的,所以搬迁到这里来. 而这篇文章是在09.04.20-09.04.21里写的. Jason Lee   ------------–cut-line   1.基本框架(此处主要谈页式内存管理) 4G是一个比较敏感的字眼,早些日子,大多数机器(或者说操作系统)支持的内存上限