// 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. 实习日记:图像检索算法 LSH 的总结与分析(matlab)

    最开始仿真和精度测试,基于 matlab 完成的. Demo_MakeTable.m (生成 Hash 表) %======================================== %** ...

  2. Website Speed Optimization Guide for Google PageSpeed Rules

    原链接地址:http://www.artzstudio.com/2016/07/website-speed-optimization-guide-for-google-pagespeed-rules/ ...

  3. dedecms 打印出网站所有 文章标题和链接(URL)的方法

    {dede:arclist row="100000"} <li>[field:fulltitle/]***网站URL地址***[field:arcurl/]</l ...

  4. NHibernate系列文章六:NHibernate数据类型映射

    摘要 NHibernate支持所有的数据库数据类型. 以SQL Server数据库为例,下表是NHibernate支持的SQL Server数据库最常见的数据类型对照表. 第一列是NHibernate ...

  5. oracle 认证方式

    Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”.1.当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆:(默认方式)2.当采取口令文件认证的时候, ...

  6. LINUX下的拨号利器:wvdial和pppd —— 转载

    wvdial是LINUX下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上网.在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户名和密码等认证信息:ppp的 ...

  7. .c文件如何编译为ko的MAKEFILE文件编写

    首先需要知道: obj-m = *.o obj-y = *.o 上面两者的区别在于,前者才会生成ko文件,后者只是代码编译进内核,并不生成ko文件. 生成KO文件,分两种情况:单个.c文件和多个.c文 ...

  8. Echarts data数据为空时,显示“-”

    { name:'2007', type:'bar', data:["","",""]} 解决办法: 写成data:["" ...

  9. Nop源码分析一

    从Global.asax文件开始逐层分析Nop的架构. Application_Start()方法作为mvc启动的第一个方法. 1,首先初始化一个引擎上下文,如下面的代码: EngineContext ...

  10. iOS 设置 文字和 图片的位置

    1.我最开始实现这个采用的方法:重新自定义一个view,然后有两个属性label和imageView,然后设置位置布局,再添加单击手势,用代理回传点击方法. 2.第二种方法:自定义一个Button继承 ...