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命令时,某些情况 ...
随机推荐
- Android插件化开发
客户端开发给人的印象往往是小巧,快速奔跑.但随着产品的发展,目前产生了大量的门户型客户端.功能模块持续集成,开发人员迅速增长.不同的开发小组开发不同的功能模块,甚至还有其他客户端集成进入.能做到功能模 ...
- Android事件分发机制(一) Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev). ...
- php CI ip限制
public function index() { $ip = $this->input->ip_address(); if(!in_array($ip, $this->allowe ...
- C/C++中的指针数组和数组指针
1. 指针数组 定义:int *p[n],由于[]的优先级高于*,p和[]结合成一个数组,该数组的元素存储的是int类型的指针,由于数组内容是指针,因此p+1的步长是sizeof(int*),在32位 ...
- 【EF学习笔记05】----------操作内存中的数据
SingleOrDefault实验 //SingleOrDefault实验 using (var db = new Entities()) { var classes = new Classes() ...
- js 小工具-- 原生 js 去除空格
// 原生js 去除字符串空格 <script type="text/javascript"> String.prototype.trim = function (){ ...
- “VS2013无法连接远程数据库”解决方案
“VS2013无法连接远程数据库” 解决方案:以管理员身份登录CMD,输入netsh winsock reset并回车(注意,必须是已管理员身份运行,这个重置LSP连接) 或 netsh winsoc ...
- SHELL脚本攻略(学习笔记)--2.5 tr
tr主要用于映射结果集.压缩和删除字符.我个人感觉特别有用,特别是压缩连续空格(空行)为一个空格(空行),让不规则的信息变得规则. 2.5.1 tr映射 tr [options] [SET1] [SE ...
- docker中安装ssh服务
系统:Debian Docker 目标:在docker(debian系统)中安装ssh服务,实现远程登陆和控制docker 步骤: 初始状态:通过docker pull debian得到的一个debi ...
- machine learning----->学习成绩
斯坦福大学机器学习公开课学习成绩: