导航:首页 > 编程语言 > oc运行时编程

oc运行时编程

发布时间:2022-08-02 20:43:20

㈠ xcode运行c语言

1.在苹果电脑的菜单栏里找到Xcode如图所示,如果在下面的菜单栏里没有的话,点击Launchpad如图,在弹出的对话框中找到Xcode

㈡ oc/c++混合编程有什么好处

java比C++好在:1.Java比C,C++简单,学起来比C\C++容易2.Java完全对象化,比如数组在Java中是一个对象,含有length这个属性;而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全,但牺牲了速度。同时因为Java中所有类都会继承Object这个基类,所以可以把几个好不相干的类用基类联系起来,比如放在同一个数组里。3.Java中没有指针这样不安全(虽然指针速度快)的概念。4.Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢出的可能,同时提高编程效率。5.Java中有完善的异常机制(标准C++中不够完善)。6.java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接。这个设计更合理。由以上几点可见Java更安全。8.Java标准库完整的多,相比之下C++除了一个STL(而且还超级难用)就没了,实际C++编程中需要大量使用第3方库。这很大程度上是因为Java有一些商业公司支持,更新速度快,而C++只有一个可怜的标准委员会,上一个C++标准版本还是C++98。.9.Java因为是把程序编译为字节码,运行时需要JVM把字节码再翻译为机器码,所以他跨平台,一次编译到处运行。但这也是他慢的根本原因。10.Java原生支持多线程(C++仅靠标准库不到),原生的UI,如AWTSwing不好在:1.Java比C\C++慢。Java1.0比C慢20倍现在的Java1.6运行速度也只是C的一半。2.C++在继承和派生上比Java更灵活3.C++中可以直接插入汇编能直接操控底层硬件所以操作系统还是得用c写4.Java的到C++一定得到,C++得到的Java则不一定。5.Sun被甲骨文收购了之后,Java的发展很受影响。6.C++编译的程序可以直接运行,Java需要安装JRE有几十MB,影响产品发布的用户体验。最后插一句,Java的一部分优势会随着C++0x的发布有所减弱。

㈢ 在linux系统中OC编程如何实现字符串连接

由于Xcode对中文支持良好,所以在开发过程中经常直接使用中文字符串。

不过苹果推荐多语言化,需要为中文字符串添加个NSLocalizedString宏。

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''''
Localization The Objective-C Code
@"..." --> NSLocalizedString(@"...", nil)
Jason Lee 2012-03-01
'''

import os, sys
import re
import codecs

targetPattern = pile('@"[^"]+"')
global newFile, newFilePointer

def isChineseCharacter(ch):
return0x4e00 <= ord(ch) <= 0x9fa5

def hasChineseCharacter(str):
for char in str:
if isChineseCharacter(char):
returnTrue
returnFalse

def buildNewString(oldStr):
newStrPrefix = 'NSLocalizedString('
newStrSuffix = ', nil)'
newStr = newStrPrefix + oldStr + newStrSuffix
return newStr

def processLine(line):
global newFile, newFilePointer

matchResult = targetPattern.findall(line)
for result in matchResult:
if hasChineseCharacter(result):
#print result, buildNewString(result)
p = pile(result)
line = p.sub(buildNewString(result), line)

newFilePointer.write(line)

def processFile(filename):
#Xcode file is saved with utf-8
global newFile, newFilePointer
newFile = 'Replaced.' + filename
newFilePointer = codecs.open(newFile, 'wb', 'utf-8')

fp = codecs.open(filename, 'rb', 'utf-8')
for line in fp:
processLine(line)
fp.close()

newFilePointer.close()

oldFile = 'Old.' + filename
os.system('mv ' + filename + ' ' + oldFile)
os.system('mv ' + newFile + ' ' + filename)
#os.system('rm -f ' + oldFile)

if __name__ == "__main__":
if len(sys.argv) > 1:
output = os.popen('ls ' + sys.argv[1]).read()
filelist = re.split('\n', output)
filelist = filelist[:-1]
#print filelist

print'Localizing...'

for file in filelist:
if os.path.exists(file):
try:
#print 'Processing File :', file
processFile(file)
except Exception as e:
print e

print'Localization Done.'
之后需要做的事情参考:

代码没用经过严格验证,请慎用。起码,没有检查该字符串是否已经加了NSLocalizedString宏。

㈣ 关于OC编程问题

if后面多了一个分号 判断成立之后没有代码块 所以多了一个ELSE

㈤ 如何将oc代码转换成运行时代码

1.打开终端 ,输入cd 切换到我们当前项目所在目录

2.然后ls -l 看一下当前目录下面的文件

3.然后输入命令:clang -rewrite-objc main.m 然后回车你会看到如下画面

4.这个时候我们再次输入 ls -l 查看我们当前目录下的文件 你会发现多了一个main.cpp文件 实际是c++代码 也就是说main.m底层是转换成了c++代码

5.我们再次输入open main.cpp 打开这个文件看看 里面就是运行时代码

6.我们来到文件末尾 找到main函数

㈥ objective-c与c和c++有什么区别,也是一种编程语言吗

objective-c是一种编程语言,是apple官方的应用开发语言(如iOS、MacOS上的应用)
C和C++的区别在于C++支持面向对象编程
objective-c与二者的区别其实还是有些的,OC也是面向对象编程。但是在OC中它的类也是一个对象,所有OC中的运行时可以做很多事情。
然后就是语法了,OC中类似C\C++的函数调用,成为消息,如我们调用对象A中的sayHello方法,就是给对象A发送一个sayHello的消息
[A sayHello]
其实最终还是转换成了C函数msg_send()
另外OC的运行时代码大部分都是用C实现的
不太清楚你要的区别指什么,大概描述了下

㈦ 为什么说oc是动态运行时语言objc中向一个nil对象发送消息将会发生什么

什么都不会发生,因为 nil 对象没你要的那个消息

㈧ OC语言和别的语言比起来有什么特别的吗

首先OC做为一门面向对象语言,自然具有面向对象的语言特性,如封装、继承、多态。

其次它既具有静态语言的特性(如C++),又有动态语言的效率(动态绑定、动态加载等)。整体来说,确实是一门不错的编程语言。

OC的动态特性表现为了三个方面:动态类型、动态绑定、动态加载。之所以叫做动态,是因为必须到运行时(run time)才会做一些事情。

㈨ oc是动态运行时语言是什么意思

多态。
主要是将数据类型的确定由编译时,推迟到了运行时。
这个问题其实浅涉及到两个概念,运行时和多态。
简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。 多态:不同对象以自己的方式响应相同的消息的能力叫做多态。
意思就是假设生物类(life)都用有一个相同的方法-eat; 那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。
也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。
因此也可以说,运行时机制是多态的基础。

阅读全文

与oc运行时编程相关的资料

热点内容
gz压缩文件夹 浏览:177
字母h从右往左跑的c语言编程 浏览:127
安卓手机如何拥有苹果手机横条 浏览:765
业余编程语言哪个好学 浏览:137
按照文件夹分个压缩 浏览:104
航空工业出版社单片机原理及应用 浏览:758
如何在电信app上绑定亲情号 浏览:376
安卓的怎么用原相机拍月亮 浏览:805
配音秀为什么显示服务器去配音了 浏览:755
c盘清理压缩旧文件 浏览:325
app怎么交付 浏览:343
图虫app怎么才能转到金币 浏览:175
如何做征文app 浏览:446
用什么app管理斐讯 浏览:169
安卓如何下载宝可梦剑盾 浏览:166
编译器开发属于哪个方向 浏览:940
megawin单片机 浏览:687
以色列加密货币监督 浏览:909
程序员前端现在怎么样 浏览:499
服务器和接口地址ping不通 浏览:557