//main.c//include基本概念//include是预处理指令,翻译之前会替换,编译之前左的处理,#都是预处理指令,翻译时候会添加别的内容进来。#include// #是预编译指令,告诉系统printf函数是存在的, 告诉系统printf函数的格式(声明printf函数)// include的作用, 是将include右边的文件拷贝(纯拷贝)到当前文件中int main(int argc, const char * argv[]) { // include指令不一定要写在文件的头部#include "abc/lnj.txt"/* printf("Hello, lnj!\n"); printf("Hello, World!\n"); printf("Hello, lmj!\n"); printf("Hello, xiaomage!\n"); printf("Hello, World!\n"); printf("Hello, World!\n"); printf("Hello, World!\n"); printf("Hello, World!\n");*/#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:执行文件