我正在努力学习SDL2.旧SDL和SDL2之间的主要区别(我可以看到)是旧的SDL具有由其表面表示的窗口,所有图片都是表面,所有图像操作和blits是表面到表面.在SDL2中,我们有表面和纹理.如果我做对了,表面在RAM中,纹理在图形内存中.是对的吗?
我的目标是为SDL2制作面向对象的包装器,因为我对SDL有类似的东西.我想拥有类窗口和类图片(具有私有纹理和表面).窗口将使其内容由图片类的实例表示,并且所有blits将是图片到图片对象的blits.如何组织这些图片操作:
一般来说,什么时候应该使用表面?什么时候应该使用纹理?
感谢您的时间,欢迎所有的帮助和建议:)
我一直在阅读 Brian Kernighan 和 Dennis Ritchie - The C Programming Language 并且第 8.6 章是关于 UNIX OS 下的目录列表。他们说一切甚至目录都是一个文件。这意味着我应该能够将目录作为文件打开?我已经使用 stdio 函数尝试过它,但没有奏效。现在,我正在尝试使用 UNIX 系统功能。当然,我不是在使用 UNIX,而是在使用 Ubuntu linux。这是我的代码:
#include <syscall.h>
#include <fcntl.h>
int main(int argn, char* argv[]) {
int fd;
if (argn!=1) fd=open(argv[1],O_RDONLY,0);
else fd=open(".",O_RDONLY,0);
if (fd==-1) return -1;
char buf[1024];
int n;
while ((n=read(fd,buf,1024))>0)
write(1,buf,n);
close (fd);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
即使 argn 为 1(无参数)并且我正在尝试读取当前目录,这也不会写入任何内容。任何想法/解释?:)