A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑白世界 中级黑马   /  2015-9-27 21:36  /  803 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天运行了OC的第一个程序,当然,肯定是HelloWorld。
突然想起了一个关于HelloWorld的笑话:
一个程序员退休了,回家无所事事,就想发展一个爱好,他决定练书法。
这个退休的程序员准备了所有的书法工具,毛笔、墨水、砚台、宣纸等等,所有东西摆在桌上的时候他想先写下自己的第一幅字,写点神马呢?他苦思冥想,最后大笔一挥,写下了一行:”HelloWorld“!
言归正传,先看代码:
  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[]) {
  3.     @autoreleasepool {
  4.         // insert code here...
  5.         NSLog(@"Hello, World!");
  6.     }
  7.     return 0;
  8. }
复制代码
1.引入头文件的时候使用了#import,C语言中用的是#include,这里使用#include可以吗?他们有什么区别?
  这里使用#include是可以的。
  区别在于:
      #import 可以自动防止重复包含,也就是说当重复引入头文件时,系统会只包含一次。
      #include 必须手动添加宏才能避免重复包含,当头文件中没有使用宏时,是不能避免重复包含的。
2.引入的Foundation/Foundation.h是个什么鬼?
  Foundation/Foundation.h是包含了位置信息的头文件(Foundation/  是其头文件的相对路径)。
  Foundation.h头文件中包含了大量的头文件,可以说当我们引入Foundation.h头文件的时候,我们相当于引入了OC的整个库文件。
3.@autoreleasepool {} 的意思是自动释放池。
4.NSLog("") 打印一行字。


1 个回复

倒序浏览
学到了活到老
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马