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命令时,某些情况 ...
随机推荐
- ubuntu NTP server 搭建
ubuntu server ntp时间同步服务器安装及使用一.服务端1 apt-get install ntp 2 安装后默认启动服务,如果没有启动,启动之. /etc/init.d/ntp star ...
- MoleHill Getting Started AGAL(转)
1.The OpCode This is what AGAL looks like: //vertex shader m44 op, va0, vc0 // pos to clipspace mov ...
- express html模板项目搭建
初学express的亲们,估计要弄ejs和jade会比较烦躁,那就先html开始,简单笔记如下: 1.新建项目文件夹demotest 2.进入demotest >express -e ...
- SQLite数据库文件格式
数据库命名约定 sqlite3_open()API用到数据库的文件名,可以是相对当前工作目录的相对路径名,也可以是从系统根文件树开始的完整路径名.任何被本地文件系统接受的正规文件名都是好的. 如果文件 ...
- PHP&MySQL 语法
PHP操作MySQL数据库 第一步:连接数据库 $dbhost = 'localhost:3306'; //mysql服务器主机地址 $dbuser = 'guest'; //mysql用户名 $db ...
- AngularJS 教程
AngularJS 教程 AngularJS 通过新的属性和表达式扩展了 HTML. AngularJS 可以构建一个单一页面应用程序(SPAs:Single Page Applications). ...
- windows命令行(Command Prompt / Console)字体设置
1.运行 regedit 打开注册表编辑器,打开注册表定位至[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Conso ...
- 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject
原因:Jetty会导致这个问题,Tomcat可以正常启动 一.异常产生现象 使用json-lib转换实体类/字符串,跑单元测试没问题,但是启动jetty后调用JSONArray.fromObjec ...
- VC++ WINDOWS自定义消息范围
WINDOWS自定义消息WM_USER和WM_APP WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF(十进制: ...
- js的打印分页
调用 浏览器 自带的 打印功能 时,在需要分页的地方插入如下HTML,便可实现打印分页: <div style="page-break-before:always;"> ...