WebRTC源代码探索之旅——多线程篇(7 - 1)

本文深入探讨WebRTC的线程模型,通过编译/trunk/talk/base目录下的源代码创建静态库,并在Mac OSX上运行示例程序,揭示线程间的协作。文章介绍了编译静态库的过程,包括make脚本的编写,强调了编译的目的和简化编译步骤的理由,旨在帮助读者更好地理解和应用WebRTC的多线程机制。
摘要由CSDN通过智能技术生成

7 实际使用WebRTC的线程模型

 

在这一章节我将实际演示如何将WebRTC的/trunk/talk/base目录下的所有文件编译成静态库。并且在这基础上编译运行2个小程序,以观察整个线程模型的调用关系。这将能够很好地帮助读者理解各个模块是如何协同工作的。

 

7.1 编译静态库

 

正如在本文开头时提到的,这一节的内容可能是大家最感兴趣的,但也是我不得不和大家说声抱歉的,我是在Mac OSX平台上完成了对WebRTC的/trunk/talk/base目录下的源代码的编译。所以编译脚本只能在Mac OSX下使用,不过我相信向Linux和Windows移植的工作应该不会很困难。因为:

1 WebRTC本身就是跨平台编写的,它本身就支持所有的平台;

2 谷歌已经为WebRTC编写了完美的编译脚本,这种脚本以python为基础可以在各个平台上使用命令行编译或者生成IDE(包括Visual Studio)工程脚本。特别要提一下的是谷歌使用的ninjia实在太强大了,编译速度超快无比,推荐使用;

3 我所使用的脚本并不复杂,所以通过简单修改应该可以在各个平台上使用;

基于以上的原因,可能大家会觉得我自己写编译脚本有些多此一举。从理论上来说确实有些多此一举,但是我也有我自己的理由:

1 最近为了找工作所以学习了一些关于make脚本的知识,这次正好用来练手。其实在以前的工作中使用过nmake,不过主体框架是美国同事写得,我们不过是在添加删除文件时维护一下。所以,这次学习WebRTC源代码可以有机会在实践中检验一下对make脚本的理解。

2 我希望将/trunk/talk/base目录独立编译出来,这样可以将它作为独立的模块进行试验,避免被

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值