因为查rtsp相关问题,接触了下ffmpeg源码,发现它和linux内核一样,虽然都是c写的,但是都是面向对象的思想,c的面向对象称之为oopc。
这让我想起来一件好玩的事,有些搞linux内核驱动的只会c的开发人员不知道linux内核是面向对象的,他们看到智能指针,继承,this指针也不认识。
这就是怎么说,这个代码是c写的没错,但是它采用的思想是不受c面向过程的束缚。
也就是说采用的思想超出了这个编程语言的伴生思想,那就不能仅仅会这门语言了。否则只能看个半懂。
ffmpeg也是,面向对象思想是管理大型软件的必选。
所以c只是基础,面向对象的编程语言一定要会一门。
大型软件,不管什么语言,面向对象思想是必选的,ffmpeg源码也可以学学其oopc。