GPL通用性公开许可证(General Public License,简称GPL)。在字典中的含义是非洲大羚羊,我们可以常常看到非常个性化的羊头,想必很多人已经非常熟悉。象征 GNU 那种追求自由的精神.GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由。GPL还规定,只要这种修改文本的整体或者其某个部分来源于遵循GPL的程序,则该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己做出的限制。因此,遵循GPL流通的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。上述单词“free”指的是自由(freedom),而不是价格。你可能需要或者不需要为获取GNU软件而支付费用。不论是否免费,一旦你得到了软件,你在使用中就拥有三种特定的自由。首先是复制程序并且把它送给你的朋友或者同事的自由;而后是通过获取完整的源代码,按照你的意愿修改程序的自由;最后是发布软件的改进版并且有助于创建自由软件社团的自由。 GPL,LGPL,GFDL的区别
GPL 是 GNU General Public License (GNU 通用公共许可证)的缩写形式;
LGPL 是 GNU Lesser General Public License (GNU 宽通用公共许可证)的缩写形式,旧称 GNU Library General Public License (GNU 库通用公共许可证),在宽松程度上与 BSD、Apache、XFree86 许可证相似;
GFDL 是 GNU Free Documentation License (GNU 自由文档许可证)的缩写形式。它们是自由软件(Free Software)的通用版权认证协议,由自由软件基金会(FSF)制定和发布。
基于 GPL 的软件允许商业化销售,但不允许封闭源代码。
如果您对遵循 GPL 的软件进行任何改动和/或再次开发,则您的产品必须继承 GPL 协议,不允许封闭源代码。
基于 LGPL 的软件也允许商业化销售,但不允许封闭源代码。
如果您对遵循 LGPL 的软件进行任何改动和/或再次开发,则您的产品不必继承 LGPL 协议,同时允许封闭源代码
比如涉嫌非法使用GPL代码事件
超星阅读器中涉嫌非法使用开源图形库DjVuLibre ( http://djvulibre.djvuzone.org/ )。DjVuLibre提供了高效的图像压缩格式DjVu格式的编码和解码功能。DjVuLibre的使用授权为GPL(GNU General Public License: http://www.thebigfly.com/gnu/gpl/ ),按照GPL的要求,凡是使用该软件的代码也需要开放原代码,而超星浏览器公然违反了这个授权,不但没有开放原代码,而且利用自由软件牟利。
Linux游戏开发工具收集 FMOD
FMOD是一个非常容易使用的跨平台声音引擎,能够在WINDOWS,WINDOWS CE,LINUX,MACINTOSH,GAMECUBE,PLAYSTATION 2和XBOX上使用。支持C/C++,VB,DELPHI和MASE。如果你在以上说明的任何一种平台上使用任何一种语言,那么FMOD适合你。本篇中使用的是C语言,同样他也适合其他平台。
相关的声音库
另一个相关的声音库是OPENAL。OPENAL是另一个跨平台的适应API,也同样支持WINDOWS,LINUX和MACINTOSH。同样能应用于C/C++,DELPHI和JAVA。风格有点象OPENGL。 http://www.fmod.org
开始之前,请将FMOD.DLL拷贝到你的工作目录下,也就是和你的项目文件在一起。
与C语言用户相关
在你的编译器下加入"fmod.h" 文件和库文件:
fmodvc.lib for Microsoft Visual C++ and Codewarrior
fmodbc.lib for Borland
fmodwc.lib for Watcom
fmodcc.lib for LCC-Win32
libfmod.a for MingW and CygWin
fmod-3-7.lib for GCC
在我们用FMOD播放我们的声音文件时,我们要先初始他。像下面这样:
FSOUND_Init (44100, 32, 0);
第一参数是输出率,用赫兹表示。在这里,我们取44100。第二个参数是我们最大的软通道。第三个参数是我们想表明的一些符号。在这里,我们取0;
下面,我们将播放一些声音了。我们播放的声音有哪些格式呢?是歌,例子或流?
歌,例子或流
FMOD支持两种API:FSOUND和FMUSIC。具体用哪个将由你要播放的声音决定。
通常的音乐格式有:.MOD,.S3M,.XM,.IT,.MID,.RMI,.SGT和.FSB,这些都被FMUSIC API支持。
而FSOUND API支持压缩的.WAV,.MP2,.MP3,.OGG or .RAW。
DEV C++下依靠上面的代码编
cygwin
cygwin在windows上提供了一个像linux (Linux-like)的环境,可以让使用者在windows上执行linux的程式
連至 www.cygwin.com 下載 setup.exe
執行 setup.exe , 選取Download from Internet
選取距離自己最近的下載點
選取所需套件 // 建議全選devel, lib等分類的所有套件
執行 setup.exe , 選取Install from Local directory安裝套件 //最好選取 All user
選取所有套件
執行桌面上的 Cygwin 的 icon 圖示即可執行此一 Cygwin 環境。// 視窗大小可由icon 圖示右點按 選取調整字型 及佈置 http://www.cygwin.com
MinGW
还有一个解决方案是MinGW ——在 WINDOWS 下运行 GNU 程序的工具
MinGW,即 小型GNU for Windows。 它的作用是让开发者可以在windows操作系统上方便的使用gcc等GNU开发工具。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。
在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95 发行版以上的 Windows OS 有效,使用基本运行时间,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时间扩展。该功能是 Windows32 API 不具备的。 http://visual-mingw.sourceforge.net/
Dev C++
Dev-C++ 是一个非常好的 C/C++ 程序集成开发环境,而且还是完全免费的.更重要的是 Dev-C++ 几乎完全支持 ISO C/C++ 标准!它包括多页面窗口、工程编辑器,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序。它也提供高亮度语法显示的,以减少编辑错误。
常用的集成开发环境编译器有:Turbo C、Turbo C++(这两个太旧了,不推荐使用)、GCC、MicroSoft Visual C++ 6.0,Dev-C++。Dev-C++ 虽然功能不太强大,使用起来也不甚方便,但是它对 C 和 C++ 标准的支持非常好. http://www.bloodshed.net/devcpp.html
Tiny C
GNU/Linux 系统上最小的 C 语言编译器 Tiny C 编译器。Tiny C 编译器不仅仅是一个常规意义上的 C 语言编译器,它还使得用户可以像使用脚本语言一样使用 C 语言进行快捷的脚本编程。
TCC 介绍
TCC 最有趣的特性是可以用 UNIX 系统上常见的 #!/usr/bin/tcc 的方式来执行 ANSI C 语言写就的源程序,省略掉了在命令行上进行编译和链接的步骤,而可以直接运行 C 语言写就的源程序。这样就能做到像任何一种其它的脚本语言比如 Perl 或者是 Python 一样,显著的加快开发步调。
TCC 的体积非常小,全部源代码打包压缩以后不到 200 K 字节大小,编译后的 tcc 可执行程序不过 80 K 字节大小。这意味着我们几乎可以在任何场合使用 TCC 提供给我们的编写 C 语言脚本的能力。这其中当然包括硬盘空间十分紧张的环境,比如嵌入式系统和启动软盘等等。
在给 TCC 的源程序中可以使用任何在给 GCC 的源程序中可以使用的动态链接库。TCC 不仅支持标准的 ANSI C 语言,而且也支持 ISO C99 标准和一部分来自于 GCC 的对 C 语言所做的扩展。
Tiny CC 的主页 http://fabrice.bellard.free.fr/tcc/