// First program example
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
@autoreleasepool {
NSLog (@"Programming is fun!");
}
return ;
}

在开始解释这程序之前,我们需要先讲述下编译和运行的步骤。你可以使用xcode来编译运行,或者你也可以在终端使用oc的编译命令来编译运行。此处只介绍使用Xcode进行编译运行程序。

////////////////////////////////////////////////////////////////////////////////////////////////

注意:Xcode在app store可以免费下载。或者可以登录https://developer.apple.com,在那里可以免费下载到最新版本的Xcode开发工具,以及iOS SDK。

////////////////////////////////////////////////////////////////////////////////////////////////

Xcode是一款复杂的应用程序,它可以让你编辑,编译,调试和执行程序。如果你打算在Mac上开发一些应用程序,那可以学习正面使用这款强大的工具。

启动Xcode(首次打开,你可能需要先同意具体协议方可使用),你可以通过启动界面选择创建一个新的Xcode工程。

新建一个工程,选择应用类型

在左侧,你将看到OS X栏,选择Application,然后在右侧选择Command Line Tool,点击Next。

填写应用名称,组织,企业标识符。Bundle Identifier 是用以创建iOS app,所以我们不必太在意这里需要填写什么。然后确定Type选择foundation,点击Next。选择你要保存工程的目录和路径。点击create,创建项目。

接下来开始写程序。在左侧面板选中main.m

OC源文件使用.m作为它的文件扩展名。其他常用的文件扩展名含义如下:

扩展名   含义  
.c C语言源文件  
.cc  .cpp C++源文件
.h 头文件
.m OC源文件
.mm OC++源文件
.pl perl源文件
.o 已编译的对象文件

右侧显示的main.m的内容,这是由Xcode自动生成的一份模版。内容如下:

//
// main.m
// Demo
//
// Created by Winson on 7/5/14.
// Copyright (c) 2014 Winson. All rights reserved.
// #import <Foundation/Foundation.h> int main(int argc, const char * argv[])
{ @autoreleasepool { // insert code here...
NSLog(@"Hello, World!"); }
return ;
}

接下来编译并运行程序。在运行前,我们先打开Xcode的debug窗口。

红色矩形区域为调试窗口。然后按下Xcode左上方的播放键,便可以执行编译和运行程序。

////////////////////////////////////////////////////////////////////////////////////////////////

如果你是第一次运行Xcode并运行程序,Xcode会弹出提示框提示是否激活你的Mac为开发模式,点击Enable,然后输入管理员密码即可。

////////////////////////////////////////////////////////////////////////////////////////////////

如果你的程序有错误的话,Xcode会在错误的代码行旁显示红色停止符号 ,表示程序在此处出现致命错误,以致程序无法运行。

黄色三角形是警告标识,同样会在指定代码行旁边出现。程序可以正常运行,但是一般情况下,必须检测和改正此部分代码。

程序正常运行情况:

objective-c 创建工程/编译/运行程序的更多相关文章

  1. java 11 移除的一些其他内容,更简化的编译运行程序,Unicode 10,移除了不太使用的JavaEE模块和CORBA技术,废除Nashorn javascript引擎,不建议使用Pack200 相关api

    移除的一些其他内容 移除项 移除了com.sun.awt.AWTUtilities 移除了sun.misc.Unsafe.defineClass, 使用java.lang.invoke.MethodH ...

  2. java 命令行 编译 运行程序

    学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样能够熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lk ...

  3. java使用ms-dos编译,运行程序

    1.安装好JDK,并配置好环境变量. 2.编辑好源程序,如Test.java public class Test{ public static void main(String[] args){ Sy ...

  4. Windows使用Git的vim编辑器编译运行程序

    Windows配置gcc 新建一个main.c $ touch main.c #在当前目录下创建main.c $ mkdir folder #在当前目录下创建folder文件夹 $ rm main.c ...

  5. MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误

    今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目 ...

  6. Windows用cmd编译运行C程序

    在Windows环境下用命令行编译运行程序 浙江大学-C语言程序设计进阶 配置gcc 准备一个Dev-cpp 找到gcc.exe所在目录 Dev-Cpp\MinGW64\bin 地址栏右键将地址复制为 ...

  7. C#编译成以管理员身份运行程序

    转载自:http://www.cnblogs.com/babycool/p/3569183.html 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理 ...

  8. 终端命令行编译运行C#程序HelloWorld

    终端命令行编译运行C#程序HelloWorld 今天忽然有人问我,刚学习java程序的时候,一般老师都会建议我们从配置环境变量开始从命令行编译运行程序,那么学习c#的时候基本是直接安装visual s ...

  9. C# 管理员身份运行程序

    在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况 ...

随机推荐

  1. [VB.NET]调用系统的文件夹选择对话框

    以下示例代码展示如何调用系统的文件夹选择对话框: Private Function SelectFolder(ByVal Describe As String, Optional ByVal Show ...

  2. Codeforces Round #226 (Div. 2) B

    B. Bear and Strings time limit per test 1 second memory limit per test 256 megabytes input standard ...

  3. 学习Python的第一课(简单的单元测试)

    由于有C#开发基础,感觉学习Python应该不难,主要是一些语法了,再加上现在互联网这么发达. 感觉还是要有思路,否则学什么也只能是什么. 话不多说,简单发下这几天的学习成果吧: 第一次写博客,大家不 ...

  4. [翻译]用神经网络做回归(Using Neural Networks With Regression)

    本文英文原文出自这里, 这个博客里面的内容是Java开源, 分布式深度学习项目deeplearning4j的介绍学习文档. 简介: 一般来说, 神经网络常被用来做无监督学习, 分类, 以及回归. 也就 ...

  5. Hadoop伪分布式配置:CentOS6.5(64)+JDK1.7+hadoop2.7.2

    java环境配置 修改环境变量 export JAVA_HOME=/usr/java/jdk1.7.0_79 export PATH=$PATH:$JAVA_HOME/bin export CLASS ...

  6. aspx中如何绑定llistbox数据列表

    DataTable dt = new DataTable(); dt = goodsbll.Get_prodtolist(_fatherpeoid,_sonpeoid).Tables[]; ) { f ...

  7. ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='

    多表查询出错,貌似是编码问题. 我比较的两个表的某个字段,设为查询条件,两个字段等于某个值,参照网上的某些论坛调用alter语句,但是依旧没有效果.最后直接拆分成两个条件,a.字段1=x值,b.字段2 ...

  8. 將後台的Json數據返回到前台

    前台JS代碼 $.post('/Book/GetBookClassIDByName', { BookName: "旅遊手冊" }, function (data) { if (da ...

  9. Java获取系统时间

    Java可以通过SimpleDateFormat格式化类对Date进行格式话获取时间. import java.util.*; import java.text.*; public class Tes ...

  10. 使用percona-xtrabackup实现对线上zabbix监控系统数据库mariadb5.5.47的主从同步

    使用percona-xtrabackup实现对线上zabbix监控系统数据库的主从同步 业务背景: zabbix3.0.4是业务的主要监控,部署在一台单机中,为避免数据丢失先对其做数据主从同步,因主数 ...