美文网首页iOS
clang 编译器

clang 编译器

作者: 衣介书生 | 来源:发表于2018-01-08 13:29 被阅读0次

由于自己对 clang 的了解也不是很深,这里只对自己平常用的一些命令进行一些适当的解释。

编译生成可执行文件

-o 指定了输出文件的名称

clang hello.c -o hello

得到 LLVM 字节码文件(不可读字节码文件)

-O3: 表示使用编译优化级别3来编译程序
-emit-llvm: 表示要通过 clang 得到 LLVM 的字节码文件(.bc)或者汇编文件(.ll)
-c: 表示要得到字节码文件
-o: 指定了输出文件的名称,字节码文件一般以 .bc 结尾

clang -O3 -emit-llvm hello.c -c -o hello.bc

llvm-dis

用llvm-dis工具反汇编得到 LLVM 汇编文件(可读)

llvm-dis hello.bc hello.ll

得到 LLVM 汇编文件(可读)

-S: 表示要得到汇编文件

clang -O3 -emit-llvm hello.c -S -o hello.ll

llvm-as

用 llvm-as 工具通过汇编文件(.ll 文件)得到字节码文件(.bc 文件)

llvm-as hello.ll hello.bc

编译 cpp 文件

clang++: 编译 .cpp 文件
-Wall: 输出警告信息
-g: 用于 gdb 调试
-std: 编译的标准(-std=c++98、-std=c++03、-std=c++11、-std=c++0x)
-stdlib: C++ 标准头文件

clang++ -Wall -g -std=c++11 -stdlib=libc++ Hello.cpp -o hello
clang++ -Wall -std=c++11 -stdlib=libc++ -emit-llvm -c Hello.cpp -o hello.bc

相关文章

  • clang编译器简介

    本文部分内容引用: 中文维基百科。 结构化编译器前端--clang介绍。 什么是clang编译器? clang是L...

  • iOS #pragma clang

    #pragma clang 1、 #pragma clang diagnostic 使用这个指令可使编译器 禁用、...

  • GCC/Clang编译器浅谈

    GCC和Clang编译器浅谈GCC是Linux上使用的编译器,Clang是Mac上使用的编译器,两者命令格式基本相...

  • Clang 帮助手册翻译- OPTIONS (学习使用)

    Name: clang - C、C++、 Object 等语言的编译器 SYNOPSIS: 概述 clang ...

  • arch常用应用

    1.clang 大名鼎鼎的LLVM Clang C语言编译器sudo pacman -Sy clang 2.gdb...

  • OpenMP编译成LLVMIR

    https://clang-omp.github.io/ 介绍 目前clang/llvm编译器已经支持OpenMP...

  • 编译过程做了哪些事情

    编译器结构clang是编译器前端,llvm是编译器后端,clang主要做一些语法语义分析, 如果有错误在这里就发现...

  • isa与类关联的原理

    Clang编译器 clang是一个由Apple主导编写,基于LLVM的C/C++/OC的编译器 主要是用于底层编译...

  • 最新kali之clang

    描述: clang-Clang C,C ++和Objective-C编译器。 clang是一个C、c++和Obje...

  • C/C++ 编译器与Makefile

    gcc/g++/clang clang clang 是一个C、C++、Object-C的轻量级编译器。基于LLVM...

网友评论

    本文标题:clang 编译器

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