从我在那里读到:为什么Objective-C在Apple社区之外不是很受欢迎?
Objective-C是C的超集(实际上比C++严格得多),因此不会出现向后兼容的问题.您可以在Objective-C中使用C语言执行的任何操作.
作为一个超集是二元的,就像怀孕一样.Obj-C是C的超集,而C++则不是.
超集是什么意思?Objective-C以什么方式更接近//向后兼容C?客观C以什么方式比C++更接近C哲学?
任何C程序都可以编译而不需要通过Objective-C编译器进行修改(100%兼容性)吗?
这是一个关于编程语言设计和兼容性的问题,而不是关于哪一个更好的战争.
很多人说不scanf应该用在"更严肃的程序"中,与之相同getline.
我开始迷失:如果我遇到的每个输入功能都说我不应该使用它们中的任何一个,那么我应该使用什么?是否有更"标准"的方式来获取我不知道的输入?
我试图了解OpenGL和DirectX如何使用图形卡.
如果我在OpenGL中编写一个执行三角形的程序,而在DirectX中编写另一个执行相同操作的程序,那么GPU端究竟会发生什么?
当我们运行程序时,每次调用OpenGL库以及每次调用DirectX库都会产生GPU代码,并且从两个程序生成的GPU机器代码是相同的吗?(就像DirectX和OpenGL就像Java Bytecode一样,预编译,然后当它实际运行时,它产生相同的东西)
或者GPU有两个不同的指令集,每个指令集一个.我的意思是,对于GPU来说,什么是exaclty OpenGL和DirectX,它如何区分2 API?
这只是程序员的观点吗?
我不会开始讨论哪个库更好,它会违反规则,但更多的是提出一系列技术问题.当我问是否有特殊技术时,只需说出技术的名称或链接.
别忘了,我还要比较SDL 1.2和SDL 1.3,而不仅仅是其中之一
哪个库有多个窗口支持?我已经知道SDL的答案:SDL 1.2,不,但是是的
哪些库是多线程安全的?
大多数速度测试是在SDL和allegro使用软件加速时完成的,但现在SDL 1.3,allegro 5和sfml在速度方面使用硬件加速,它们如何比较?
哪个库可以同时检测多个键盘?有没有特殊的技术呢?
有没有办法将结果集成到GTK窗口中?如果是,是否有任何特殊技术?(我记得上次我使用SDL 1.2时,我无法做到这一点......)
哪个库支持3d?(使用openGL)
如果我将X库与OpenGL用于图形,是否会有限制,或者更多/更少的功能?(我的意思是,对于所有这些库,使用opengl的图形是否相同?)
我可以静态链接到哪些库?
最后,有些图书馆更倾向于特定的游戏风格吗?(像制作RPG时更喜欢使用X库,而制作策略游戏,基于游戏的游戏时更多使用Y库...)
不要忘记SDL 1.2和SDL 1.3
编辑:
我将尝试分享我发现的所有内容,从我的研究中,随时为我的问题提供更多答案.
多窗口:SDL 1.3,SFML无多窗口:SDL 1.2
多线程安全:Allegro 5,SFML
不是多线程安全:
速度:未知
不止一个按键支持:SFML,Allegro 5
根据我在这里读到的内容:http://www.linuxquestions.org/questions/linux-software-2/opengl-vs-mesa-whats-the-diff-351037/
Mesa是软件渲染,而驱动程序OpenGL是硬件渲染.
我遇到的每个教程都只展示了如何安装Mesa.如何设置真正的(硬件加速)openGL?安装驱动程序是否安装了标头?如果是这样,哪个标题?如果我有一个用台面编译的程序,我是否必须重新编译才能利用硬件加速?如果安装驱动程序安装所需的库和标题,台面会发生什么?
从指向网站上的最后一篇文章:"这是否意味着如果我安装了NVidia驱动程序,我应该删除mesa包?"
此外,现在openGL现在是版本4和5,但我找不到任何教程,显示如何为这些版本创建上下文,只有版本3最大...
就像你可以看到的,我不太确定这是如何工作的.
最后一件事,这本书:http://glprogramming.com/red/是针对哪个版本的openGL?指南版本是1.1,但它没有说它是针对哪个版本编写的.
c ×4
c++ ×2
opengl ×2
allegro5 ×1
directx ×1
gpu ×1
objective-c ×1
sdl ×1
sfml ×1
ubuntu-11.04 ×1
user-input ×1