要学习音视频开发,首先C、C++是必备的编程语言,因为很多知名的音视频库,比如FFMPEG、X264等都是用C语言编写的,而我们要使用这些库就必须用C、C++去开发程序。
C语言是一门怎样的语言呢?C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言。C语言是计算机产业的核心语言,操作系统、硬件驱动、关键组件、数据库等都离不开C语言;不学习C语言,就不能了解计算机底层。后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。
以下是C语言几个特性:
1.高效性:c语言是一种高效的语言。c表现出通常只有汇编语言才具有的精细的控制能力(汇编语言是特定cpu设计所采用的一组内部制定的助记符。不同的cpu类型使用不同的汇编语言)。如果愿意,您可以细调程序以获得最大的速度或最大的内存使用率。
2.可移植性:c语言是一种可移植的语言。意味着,在一个系统上编写的c程序经过很少改动或不经过修改就可以在其他的系统上运行。
3.强大的功能和灵活性:c强大而又灵活。比如强大灵活的UNIX操作系统便是用c编写的。其他的语言(Perl、Python、BASIC、Pascal)的许多编译器和解释器也都是用c编写的,包括大家熟悉的JVM也是C语言写的。
当然C语言的内容非常庞大,博文是讲不完的,也没必要全面去讲,毕竟该系列是讲音视频的,而且读者应该是有C语言基础(至少其他语言基础),所以这里只会讲到C语言的一些重点难点,一些比较本质的东西。