C9---include,编译

//main.c
//include基本概念

//include是预处理指令,翻译之前会替换,编译之前左的处理,#都是预处理指令,翻译时候会添加别的内容进来。

#include <stdio.h> // #是预编译指令,告诉系统printf函数是存在的, 告诉系统printf函数的格式(声明printf函数)

// include的作用, 是将include右边的文件拷贝(纯拷贝)到当前文件中

int main(int argc, const char * argv[]) {
    //     include指令不一定要写在文件的头部
#include "abc/lnj.txt"
/*
    printf("Hello, lnj!
");
    printf("Hello, World!
");
    printf("Hello, lmj!
");
    printf("Hello, xiaomage!
");
    printf("Hello, World!
");
    printf("Hello, World!
");
    printf("Hello, World!
");
    printf("Hello, World!
");
*/
#include "/Users/xiaomage/Desktop/课堂共享/day05/code/day05/include基本概念/abc/lnj.txt"
    
    return 0;//程序打印Hello,所以是拷贝。
}
/*
 include后面的 <> 和 "" 的区别
 ---如果使用<>代表会先从开发工具的编译环境中去查找
    + (Xcode右键显示包内容)/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/
 
 如果编译环境中没有找到, 那么会再去系统的编译环境中找
    + (显示隐藏的内容,前往--电脑--apple盘--usr--)/usr/include/stdio.h
 
 ---如果使用""代表会先从当前文件所在的文件夹(工程的代码磁盘位置)下面查找
 如果在当前文件所在的文件夹下面没有找到, 那么就回去开发工具的编译环境中去查找
 如果编译环境中没有找到, 那么会再去系统的编译环境中找(我们写的代码不能在编译环境中,否则别人用不了)
 
 注意: include后面不一定要写文件名称 也可以写路径(相对路径/ 全路径)
 
 */
xcode会转换成二进制文件,
mac是没有盘的概念,mac中所有的目录都是文件夹,所有东西都是存在一个盘里面,“前往--电脑--apple---用户”,桌面也是一个文件夹,因为mac是基于unix的,所以没有cd盘概念,ios也是基于unix的,ios里面跟mac是一样的,所以mac也支持unix的指令,

mac的unix指令:
pwd:查看当前所在的磁盘位置
ls:查看内容
mkdir 111:创建文件夹
rmdir 111:删除文件夹
clear:清空终端
open xxx:打来一个文件
touch mmd.txt:创建文件
cat xxx:查看文件
who :显示当前用户名
rm -r: 删除文件夹 -f 强制删除
vi /open:打开、创建文件
    -q 退出
    -wq 保存并退出
    -q!强制退出
    i 进入编辑模式
    esc 退出编辑模式
    :wq!
cat/more 都可以查看文件内容



Xcode4之前用GCC编译器来翻译代码,GCC是开源免费的,可以编译C/OC/C++/JAVA,
Xcode4之后LLVM虚拟机来翻译代码。

Xcode的原理:
- 当我们点击运行后xcode自动帮我们做如下事情: 编译--->.o(目标文件)--->链接--->.out 执行
    
    
编译:
cc -c 11.c:翻译我们自己写的代码(翻译成11.o文件,前提是安装了xcode)
cc   11.o:将我们自己写的代码和系统代码以及其他依赖代码组合在一起(编译---连接--生成黑色可以连接的文件),生产a.out黑色文件。
./a.out:执行文件
原文地址:https://www.cnblogs.com/yaowen/p/7381710.html