導航:首頁 > 編程語言 > 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運行時編程相關的資料

熱點內容
程序員大咖java 瀏覽:60
蘋果手機文檔安卓上怎麼打開 瀏覽:525
如何做淘寶代理伺服器 瀏覽:662
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