C语言能干什么?

素描爱好者1


C语言能干很多事,往往别的编程语言不能干的事C语言很轻松就解决了。这里我说一个程序员朋友的例子。

这名程序员做的是android手机研发,开发方向是做视频播放器类的。有一次产品经理丢来一个需求,就是用户在看视频的时候可以一键截图。这个截图可不能用android自带的屏幕截图功能,必须得是播放器自带的截图功能。

程序员做上层应用开发比较久,android框架类也比较熟悉,所以第一反应就是去找有没有截图的方法可以用。让人失望的是找了半天都没有找到一个完美的截图方案的框架类。于是在网上搜索、发帖咨询等都没有找到。

后来是一个高级程序员无意中提到了ffmpeg这个项目,是一个纯粹用C语言开发的音视频编解码的项目。好多流行的播放器在编解码方面都是调用的ffmpeg的功能。注意哦,这个ffmpeg完全是用C语言开发的。

有了这个思路之后,下面的事情也就简单了,让上层的Java代码调用ffmpeg的C语言代码库。要把ffmpeg编译为一个静态库包含在项目中,利用Java的native机制调用C语言静态库即可。这个C语言静态库中包含着各种各样的音视频编解码库,于是程序员完美地完成了这个需求。

所以C语言也许不像其他编程语言那样可以做出精美的界面,但是很多贴近硬件的、复杂的功能除了C语言就是做不出来,最后还是得找C语言的解决方案。


分享到:


相關文章: