//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:执行文件