美文网首页
在FFmepg中使用预编译头文件(PCH)

在FFmepg中使用预编译头文件(PCH)

作者: 偶是星爷 | 来源:发表于2018-10-10 17:01 被阅读15次

在xcode里使用预编译头文件很简单。FFmpeg通常都是用命令行编译,所以我们需要研究一下如何在命令行中使用PCH文件。

PCH文件官方文档可以参考 https://clang.llvm.org/docs/PCHInternals.html。在源文件中,它其实和普通的Header文件并无两样,但是clang不只是简单include它,而是先编译出中间文件(AST File),下次直接使用中间代码。

官网上的编译方法是旧的,新的编译流程是(Apple LLVM version 9.0.0 (clang-900.0.39.2):

# 第一步,编译pch文件
clang -x c-header my.h -o my.pch
# 第二步,使用pch文件
clang -include-pch my.pch test.c -o test

就这么简单!但是有一些坑需要注意:

  • 针对不同arch,要编译不同的pch文件
  • -include-pch只能带一个文件。多个文件解决方法是在my.h里include
  • 这个坑绝对想不到。加上pch或,编译器会关闭inline优化。解决方法是把static inline替换为static __attribute__(always_inline)) inline,强制打开优化

广告时间:

还在为选择播放器烦恼,究竟是用原生的AVPlayer,还是简单基于FFmpeg的kxmovie,又或者是巨复杂的ijkplayer?如果你不想花时间处理各种奇奇怪怪的bug,也不想再界面交互上花太多心思,试一试SuperPlayer.

相关文章

  • 在FFmepg中使用预编译头文件(PCH)

    在xcode里使用预编译头文件很简单。FFmpeg通常都是用命令行编译,所以我们需要研究一下如何在命令行中使用PC...

  • 【iOS】PCH文件

    PCH文件是什么 PCH全称 “Precompile Prefix Header” (预编译头文件)在iOS开发中...

  • iOS关于pch文件

    pch文件是什么 预编译头文件(一般扩展名为.PCH),是把一个工程中较稳定的代码预先编译好放在一个文件里。这些预...

  • IOS pch文件

    pch文件使用 (1)pch是整个工程的条件预编译的头文件 (2)在该文件中定义的符号 可以在工程的每个文件中直接...

  • 77-Swift之Pch文件与宏定义

    引言 在OC的开发中,Pch (Prefix-Compiled Header) 是一个标准的预编译头文件。在Pch...

  • IOS开发框架搭建--添加pch预处理文件

    .pch文件即预编译头文件,可以用于引入一下常用的.h头文件的引用。编译器就会自动的将pch文件中的头文件添加到所...

  • PCH文件的创建和配置

    PCH(Precompile Prefix Header File)文件,也就是预编译头文件。pch头文件的内容能...

  • 笔记整理之 - ios如何配置pch文件

    PCH(Precompile Prefix Header File)文件,也就是预编译头文件。pch头文件的内容能...

  • pch有毒,不要过度使用

    pch让编译更快 在日常的开发中,有很多地方会用到Foundation和UIKit,使用之前需要先将头文件#imp...

  • Xcode8工程支持PCH

    PCH介绍 PCH文件,是一个预编译文件,常用来处理头文件引用,宏定义等。开发过程中,一般将整个工程都使用的头文件...

网友评论

      本文标题:在FFmepg中使用预编译头文件(PCH)

      本文链接:https://www.haomeiwen.com/subject/jqfmaftx.html