原文:http://blog.csdn.net/hn756si/article/details/41147497

出于学习目的,想建一个vs2010工程来编译ffmpeg(http://www.ffmpeg.org/),但是由于意义不大,并且工作量太大放弃了。原因如下:

1、一些unix平台相关的头文件、库的依赖。这个是最好解决的,对应替换下就行了。

2、.C99支持,MSVC不支持C99,而ffmpeg需要它。比如msvc编译c文件,不能inline一个函数;还有c99怪异的初始化语法。这个工作量有些大,但是并不是不能解决的。因为对应的需要修改的语法就那么几种,花一两个小时就可以搞定。

3、许多ffmpeg中的汇编函数要求栈对齐,只有gcc4.2能保证为32位X86机上产生兼容代码,而对64位机总是需要对齐(并非只针对汇编代码)

这个就有些困难了,因为即便编译成功,也会因为对齐原因而造成运行错误。

4、ffmeg中大多数的汇编代码都是内嵌汇编,所以,编译器必须支持AT&T格式才能正常编译。

虽然俺学过一点汇编,但是仅停留在会看简单语法的阶段,真正用来写东西就完全不行了。汇编报了语法错误连怎么改都不知道。

5、最主要的,由于ffmpeg是纯c的库,所以即便是mingw编译的dll也可以正常的被msvc使用。(这点上也可以看出C语言比c++的优越性,越底层越明显)

综上,用msvc来编译ffmpeg是没有任何意义的。即便想研究代码也用不着绑到msvc的车上。

最新文章

  1. db2start启动失败
  2. TP框架实现分页
  3. “stdafx.h”: No such file or directory
  4. perl 语法速查
  5. Configure xterm Fonts and Colors for Your Eyeball
  6. Oracle开发专题之:%TYPE 和 %ROWTYPE
  7. github上排名靠前的java项目之_storm
  8. 解决ie6显示透明图的问题
  9. Bootstrap学习之一起步
  10. sqlserver 存储过程 查询
  11. Mark下js最大精确整数范围,业务中出现的疑难bug
  12. nginx nfs服务
  13. Kali Linux桥接模式配置DNS服务器
  14. Java框架spring Boot学习笔记(七):@Configuration,@bean注解
  15. Python turtle绘制阴阳太极图代码解析
  16. python中的私有变量
  17. [转]epoll详解
  18. 018-Go将磁盘目录实现简单的静态Web服务
  19. 《Python》并发编程
  20. .net core批量注入实现类

热门文章

  1. springBoot maven项目打成jar包
  2. ansible模块补充
  3. python集合以及编码初识
  4. python中的数据类型(二)
  5. android studio调试报错:java.lang.RuntimeException: Unable to start activity ComponentInfo
  6. 6、获取Class中的方法
  7. 002_Python基础学习网站
  8. js中对象的输出顺序
  9. mysql建表问题
  10. 2018-2019-2 20165210《网络对抗技术》Exp8 Web基础