objective-c 创建工程/编译/运行程序
// 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 创建工程/编译/运行程序的更多相关文章
- java 11 移除的一些其他内容,更简化的编译运行程序,Unicode 10,移除了不太使用的JavaEE模块和CORBA技术,废除Nashorn javascript引擎,不建议使用Pack200 相关api
移除的一些其他内容 移除项 移除了com.sun.awt.AWTUtilities 移除了sun.misc.Unsafe.defineClass, 使用java.lang.invoke.MethodH ...
- java 命令行 编译 运行程序
学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样能够熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lk ...
- java使用ms-dos编译,运行程序
1.安装好JDK,并配置好环境变量. 2.编辑好源程序,如Test.java public class Test{ public static void main(String[] args){ Sy ...
- Windows使用Git的vim编辑器编译运行程序
Windows配置gcc 新建一个main.c $ touch main.c #在当前目录下创建main.c $ mkdir folder #在当前目录下创建folder文件夹 $ rm main.c ...
- MFC:“Debug Assertion Failed!” ——自动生成的单文档程序项目编译运行就有错误
今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目 ...
- Windows用cmd编译运行C程序
在Windows环境下用命令行编译运行程序 浙江大学-C语言程序设计进阶 配置gcc 准备一个Dev-cpp 找到gcc.exe所在目录 Dev-Cpp\MinGW64\bin 地址栏右键将地址复制为 ...
- C#编译成以管理员身份运行程序
转载自:http://www.cnblogs.com/babycool/p/3569183.html 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理 ...
- 终端命令行编译运行C#程序HelloWorld
终端命令行编译运行C#程序HelloWorld 今天忽然有人问我,刚学习java程序的时候,一般老师都会建议我们从配置环境变量开始从命令行编译运行程序,那么学习c#的时候基本是直接安装visual s ...
- C# 管理员身份运行程序
在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况 ...
随机推荐
- Js_Ajax_输入词提示
输入"1",有提示,否则没有 suggest.jsp #suggest { background-color: #e0e0e0; width: 200px; } var xhr; ...
- UIAutomator 编译
环境搭建 1.必备条件: 1.JDK 2.SDK(API高于15) 3.Eclipse(安装ADT插件) 4.ANT(用于编译生成jar) 2.简要步骤: 1.安装JDK并添加环境变 ...
- spring security method security
参考 Spring Security 官方文档 http://www.concretepage.com/spring/spring-security/preauthorize-postauthoriz ...
- .NET3.5中JSON用法以及封装JsonUtils工具类
.NET3.5中JSON用法以及封装JsonUtils工具类 我们讲到JSON的简单使用,现在我们来研究如何进行封装微软提供的JSON基类,达到更加方便.简单.强大且重用性高的效果. 首先创建一个类 ...
- Repeater控件 ---表格展示数据
简介: Repeater控件是Web 服务器控件中的一个容器控件,它使您可以从页的任何可用数据中创建出自定义列表. Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repea ...
- codeforces 360 C - NP-Hard Problem
原题: Description Recently, Pari and Arya did some research about NP-Hard problems and they found the ...
- mysql事件定时
DELIMITER $$ MONTH STARTS '2013-01-07 11:20:00' ON COMPLETION PRESERVE ENABLE DO BEGIN CALL ps(); EN ...
- Jquery DOM 操作列表
jQuery 文档操作方法 这些方法对于 XML 文档和 HTML 文档均是适用的,除了:html(). jQuery 属性操作方法 下面列出的这些方法获得或设置元素的 DOM 属性. 这些方法对于 ...
- linux上的编译安装
计算机运行的程序都是二进制的代码,那么我们所用的编程语言都是自然语言中的字符,那么就需要有一种机制来将这些转化成二进制代码,那么根据转化机制不一样,编程语言(软件 产生的源头)分两大类 解释型 编译型 ...
- MySQL的错误:No query specified
在做MySQL主从同步的时候通过: mysql> show slave status\G; *************************** 1. row **************** ...