C语言day05-12Xcode运行原理

pragma mark Xcode运行原理

pragma mark 概念

/**
 Xcode4之前,Xcode是用GCC编译器来翻译代码
 GCC编译器:开源免费的编译器
 C/OC/C++/JAVA...
 
 Xcode4之后,LLVM(虚拟机 Clang前段就是专门用来编译代码(翻译代码))
 
 没有编译之前 products里面的程序是红色的
 
 编译
 cc -c 文件名 翻译我们自己的代码  (生成一个main.o文件[二进制文件0/1])(生成main.o之前,会生成一个main.i【替换文件中所有的预处理指令】、main.s文件【汇编】)
 链接
 cc 文件名    将我们自己的代码和系统的以及其它依赖文件的代码组合在一起
 生成可执行文件
 exec
 
 运行     ./a.out
 */
/**
 编译的时候 
 如果是
 clang: error: no input files 说明可以编译
 如果是
 command not found 说明没有Xcode、没有配置好Xcode、没有安装Clang
 或者到查看 Xcode 偏好设置 locations Command Line Tools 有没有选择Xcode
 */
#pragma mark 代码
#include <stdio.h>
int main()
{
    
    /**
     cc main.o -->将我们自己的二进制和依赖的文件的二进制组合在一起,生成一个可执行的文件
     注意L如果只有警告没有错误,那么clang会帮我们翻译代码
     如果有错误,那么clang就不会给我们翻译代码
     clang编译器会帮我们检查警告和错误
     
     注意:clang编译器在编译的时候只会检查语法错误
     clang编译只会在链接的时候检查函数有没有真正的实现
     */
    
    return 0;
}
    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/0d1d52db29f8
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞