Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Linux系统下用C语言编写2D图形游戏

Linux系统下用C语言编写2D图形游戏

在Linux系统下,不要以为C语言就只能写那种只有字符的控制台程序,别忘了,Linux系统有FrameBuffer(帧缓冲),只要显示器是彩色的,并且是linux系统的,就可以用C语言代码通过读写FrameBuffer里的数据在屏幕上绘制图形;图形嘛,有png库,用它的函数解码图片文件,得到图片数组,共有red、green、blue、alpha四种数组,alpha用于图片之间的组合,最终将RGB数组输出到FrameBuffer就能显示了;想要动态图形效果,...
Linux下的声音编程方法

Linux下的声音编程方法

(1)数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次的速率对声波进行采样,每个采样点都记录下了原始模拟声波在某一时刻的状态,通常称之为样本(sample),而每一秒钟所采样的...
Linux下利用FreeType2的API实现字符的显示

Linux下利用FreeType2的API实现字符的显示

网上的FreeType2例子太少,能显示汉字的比较难找,C语言代码写的更难找,能找到的,基本上是被转载了N遍的同一个示例代码,基本上解决不了我的问题。于是乎,花费了不少时间才完成了这些代码;主要功能是:将传入的GB2312编码的char型字符串转换成图片数组并输出。主要原理是:将GB2312编码的char型字符串,转换成unicode编码的wchar_t型字符串;之后,利用FreeType2的API获取汉字的字体位图。代码看似不怎么复杂,之前找char转w...
研究mgaview的源码的成果

研究mgaview的源码的成果

看mgaview的源码,看了几遍之后,发现它的主要工作原理比较简单,大致如下:开始打开图片文件读取文件头判断图片类型使用相应的函数解码图片为数组调用相应的函数将数组写入至屏幕结束源码文件不怎么多,也不是很复杂,并且,它的源码还分类别存放在不同的文件夹:src/src/inputsrc/outputmgaview的主程序源码当然就在src目录,h格式的文件只是声明了一些全局变量,还定义了一些宏。input目录该目录里的源码,是用于解码各种格式的图片文件,看文...
Linux Gcc编译错误

Linux Gcc编译错误

Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如:for(int i=0;i<10;i++){}这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准,c89标准是不支持上述写法的。如果你非要这么写可以这样编译,使...
Qt中文乱码问题解决办法

Qt中文乱码问题解决办法

WOWCode的主体部分基本已经完成了,对于我自己来说,其实已经足以应付我的需要了,不过如果发布的话,实在还是拿不出手,因为很多地方还需要完善,一些对我自己来说多余的功能也没有完成,今天尝试将程序移植到了另一台机子上,却出现了中文乱码问题,记录之。也许你在用这个方法实现中文化,但它确实不够严谨#include<QTextCodec> intmain(intargc,char*argv[]) { QApplicationapp(argc,argv...
C++中的引用和指针

C++中的引用和指针

先看下面一段关于引用的说明:引用是C++比C扩充的一种派生数据类型。引用是为对象取一个别名,不占存储空间。引用类型说明符为&例:int someInt;int& rInt = someInt;注意,在这里引用类型变量rInt是someInt的一个别名,也就是这两个表示的是同一个变量。它们指向的是同一个内存空间。声明一个引用变量时,必须同时使之初始化,即声明它代表哪一个变量。并且从此不可改变。一旦一个引用被初始化后,就不能改为指向其他对象。引...
C语言:从字符串中简单提取数值

C语言:从字符串中简单提取数值

在网络上看到很多人提到如何用C语言获取字符串中的数值的问题。其实这个问题的解决方法很多,这里给出一段简单的分析字符串,提取数值的代码:从字符串中简单提取数值,其主要功能有:1)扫描字符串中一段数值字符串;2)扫描一段连续数值字符,并按十进制格式提取数值;3)如果字符串第一个字符非数值字符,直接停止,报错;4)数值字符段后有非数值字符,直接停止读取后续字符,将提取的字符以十进制格式转换输出;其主要实现部分,见skip_atoi代码intskip_atoi(c...
Linux应用程序Helloworld入门

Linux应用程序Helloworld入门

对于初学者来说(本人就是),如何开始写第一个程序至关重要。有的时候一个简单的问题会严重影响到学习的积极性和自信心。这里结合实际工作中的一些经验,总结方法步骤,对Linux下应用程序Helloworld入门做一个简单的介绍。不仅仅作为一个个人的小结,也希望能对各位学习中的朋友能有帮助。第一步:首先需要一个Ubuntu系统,可以是PC机,服务器,甚至是虚拟机(比如Vmware);第二步:在ubuntu系统上安装gcc编译器,可以采用如下命令;$sudoapt-...
<< 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 >>