`
zsjg13
  • 浏览: 150233 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

1.1 创建一个Terminal Application

    博客分类:
  • ios
阅读更多

1、问题:

不依靠XCode带的额外特性,只想用Terminal来构建一个简单的Objective-C程序。这个程序将利用Objective-C向Mac的terminal console window上输出一段消息。

 

2、解决方案

用你喜欢的文本编辑器在你的主目录中创建一个文件,/Users/[yourusername]/。比如vi或Mac带的图形化的TextEdit——请确保要保存为纯文本。

 

在该文件中加一个main函数,导入Foundation框架。

 

编译:用工具clang。就能够创建一个可执行文件,可以从terminal screen中运行该文件。

 

3、原理

Objective-C需要启动的代码总是放在main函数中,该函数带一些参数,并返回一个integer。使用Objective-C对象,需要导入Foundation框架。

 

在main函数中,必须创建一个autorelease pool,Objective-C用它来管理内存。好了后,就可以用NSString类来创建一个Hello World字符串,并用NSLog将它写到console中。

 

编译命令clang的选项:

(1)-fobjc 意思是用的编程语言是Objective-C

(2)-arc 自动引用计数

(3)-framework 用于链接到Foundation框架

(4)-o 创建的可执行文件的名字

 

注意:如果你的Mac运行的是OSX 10.7 or greater,那么你可以使用自动引用计数。ARC是OSX 10.7中可用的一个新特性,用于内存管理。

 

4、代码

#import <Foundation/Foundation.h>

int main(int argc, const char* argv[]) {

    @autoreleasepool {

        NSString *helloString = @"Hello World";

        NSLog(@"%@", helloString);

     }

    return 0;

}

 

5、使用

打开terminal,编译代码。代码文件名:main.m

clang -fobjc -framework Foundation main.m -o maccommandlineapp

 

运行:

在terminal中输入:run maccommandlineapp

 

 

  • 大小: 40.6 KB
分享到:
评论

相关推荐

    Python库 | vtapi-1.1.tar.gz

    在本例中,我们关注的是一个名为`vtapi`的库,其版本为1.1,封装在一个`.tar.gz`压缩包里。`.tar.gz`是一种常见的文件打包和压缩格式,在Linux和Unix环境中广泛使用,它首先使用`tar`命令将多个文件或目录打包成一个...

    在Windows下搭建MeeGo开发环境

    在Windows环境下搭建MeeGo开发环境是一项技术性的任务,主要涉及到操作系统兼容性、文件系统格式、SDK安装、网络代理配置、目标与运行时环境创建、Qt Creator的配置以及模拟器加速等多个步骤。以下是对这些知识点的...

    新格林耐特配置命令.doc

    7. VLAN 配置:输入 `vlan` 命令可以创建或修改 VLAN,例如输入 `vlan 3901` 可以创建一个名为 vlan3901 的 VLAN。输入 `switchport ethernet 0/1` 命令可以将端口 1 添加到 VLAN 3901 中。 8. 批量 VLAN 配置:...

    CICS 基本操作实例讲解

    1.1) 首先,你需要通过输入`LOGON APPLID(CICSACB2)`来登录CICS系统。这里的`CICSACB2`是CICS应用的标识符,不同环境可能有不同的设置。 1.2) 输入命令后,系统会提示输入用户ID和密码。请按照提示输入相关信息。 ...

    iap文档很详细的说明

    IAP驱动通常提供一个交互式菜单,用于选择不同的操作模式。 ##### 3.1 下载图像到内部闪存 这一选项允许用户将新的固件程序通过USART下载到微控制器的内部闪存中。操作过程中需要指定目标地址和数据大小。 ##### ...

    SDP协议原理及应用

    - 在H.248协议中,SDP可以用来描述媒体流的能力,例如在创建一个新的终端时,可以使用以下SDP描述: ``` modify root { subterminals [ 1 ] { terminal 1 { signalings [ 1 ] { media [ 1 ] { type audio ...

    ubuntu安装jdk.doc

    - 在您的主文件夹中创建一个名为 `.java` 的隐藏文件夹,用于存放 JDK。可以通过以下命令完成: - `sudomkdir .java` - 将下载好的 `jdk-6u24-linux-i586.bin` 文件复制到 `.java` 文件夹中: - `sudocp jdk-6u24-...

    后台服务 之 内存解析

    电脑启动后,系统会自动加载一系列的服务以确保各项功能正常运行。然而,并非所有服务都是必需的,特别是对于那些对性能有较高要求的应用场景来说,关闭不必要的后台服务可以显著提升系统的响应速度和整体性能。 ##...

Global site tag (gtag.js) - Google Analytics