C語言能幹什麼?

素描愛好者1


C語言能幹很多事,往往別的編程語言不能幹的事C語言很輕鬆就解決了。這裡我說一個程序員朋友的例子。

這名程序員做的是android手機研發,開發方向是做視頻播放器類的。有一次產品經理丟來一個需求,就是用戶在看視頻的時候可以一鍵截圖。這個截圖可不能用android自帶的屏幕截圖功能,必須得是播放器自帶的截圖功能。

程序員做上層應用開發比較久,android框架類也比較熟悉,所以第一反應就是去找有沒有截圖的方法可以用。讓人失望的是找了半天都沒有找到一個完美的截圖方案的框架類。於是在網上搜索、發帖諮詢等都沒有找到。

後來是一個高級程序員無意中提到了ffmpeg這個項目,是一個純粹用C語言開發的音視頻編解碼的項目。好多流行的播放器在編解碼方面都是調用的ffmpeg的功能。注意哦,這個ffmpeg完全是用C語言開發的。

有了這個思路之後,下面的事情也就簡單了,讓上層的Java代碼調用ffmpeg的C語言代碼庫。要把ffmpeg編譯為一個靜態庫包含在項目中,利用Java的native機制調用C語言靜態庫即可。這個C語言靜態庫中包含著各種各樣的音視頻編解碼庫,於是程序員完美地完成了這個需求。

所以C語言也許不像其他編程語言那樣可以做出精美的界面,但是很多貼近硬件的、複雜的功能除了C語言就是做不出來,最後還是得找C語言的解決方案。


分享到:


相關文章: