美文网首页
clang生成编译后的文件

clang生成编译后的文件

作者: 星星杨 | 来源:发表于2023-01-07 19:18 被阅读0次

Clang是一个C语言、C++、Objective-C语言的轻量级编译器。源代码发布于BSD协议下。 Clang将支持其普通lambda表达式、返回类型的简化处理以及更好的处理constexpr关键字。
Clang是一个由Apple主导编写,基于LLVM的C/C++/Objective-C编译器
2013年4月,Clang已经全面支持C++11标准,并开始实现C++1y特性(也就是C++14,这是 C++的下一个小更新版本)。Clang将支持其普通lambda表达式、返回类型的简化处理以及更 好的处理constexpr关键字。 [2]
Clang是一个C++编写、基于LLVM、发布于LLVM BSD许可证下的C/C++/Objective-C/ Objective-C++编译器。它与GNU C语言规范几乎完全兼容(当然,也有部分不兼容的内容, 包括编译命令选项也会有点差异),并在此基础上增加了额外的语法特性,比如C函数重载 (通过attribute((overloadable))来修饰函数),其目标(之一)就是超越GCC。

clang操作
clang -rewrite-objc main.m -o main.cpp 把目标文件编译成c++文件

UIKit报错问题
clang -rewrite-objc -fobjc-arc -fobjc-runtime=ios-13.0.0 -isysroot / Applications/Xcode.app/Contents/Developer/Platforms/ iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.0.sdk main.m
xcode安装的时候顺带安装了xcrun命令,xcrun命令在clang的基础上进行了 一些封装,要更好用一些
xcrun -sdk iphonesimulator clang -arch arm64 -rewrite-objc main.m -o main-arm64.cpp (模拟器)
xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m -o main- arm64.cpp (手机)

相关文章

  • clang生成编译后的文件

    Clang是一个C语言、C++、Objective-C语言的轻量级编译器。源代码发布于BSD协议下。 Clang将...

  • OC为什么 Category不能添加属性

    用Clang编译我的.m文件【clang -rewrite-objc MyObject.m】会生成.cpp文件 编...

  • iOS 应用的构建过程

    一、应用构建过程 1.编译源文件:使用Clang编译项目中所有参与编译的源文件,生成目标文件。2.链接目标文件:将...

  • iOS OC对象探索

    oc类、对象探索 首先我们创建一个oc类 然后用clang编译QHPerson.m文件 会生成一个 文件,打开后对...

  • 知识点OC文件生成C++文件

    生成 使用clang编译器将Objective-C代码编译成C语言代码, 并生成在一个.cpp的 C++文件中: ...

  • Objective-C源文件编译过程

    简介 Objective-C文件的编译过程主要包括clang前端的预处理、编译、后端优化中间表示、生成汇编指令、链...

  • OC 编译过程

    Objective-C文件的编译过程主要包括clang前端的预处理、编译、后端优化中间表示、生成汇编指令、链接、生...

  • ffmpeg打印log,使用clang 编译

    编写源代码 ffmpeg_log.c 使用clang 编译器编译源代码生成可执行文件 进入源文件所在目录,执行下面...

  • Swift生命周期

    Objective-C通过clang编译器,编译成IR,然后再生成可执行文件.o Swift通过Swift编译器,...

  • iOS OC类结构class分析

    一,我们平时写的oc文件可以通过clang编译生成底层cpp文件,可以清楚看到类在底层的结构 iPhoneSimu...

网友评论

      本文标题:clang生成编译后的文件

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