黑马程序员技术交流社区

标题: 日课18 OC之HelloWorld初体验 [打印本页]

作者: 黑白世界    时间: 2015-9-27 21:36
标题: 日课18 OC之HelloWorld初体验
今天运行了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("") 打印一行字。



作者: wqp123000    时间: 2015-9-27 21:43
学到了活到老




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2