一、C和OC如何混用,C++與OC怎么混用?
實現(xiàn)文件的拓展名.m改成.mm即可實現(xiàn)C文件與OC文件的混用。
但是cpp文件必須只能用C/C++代碼,,而且cpp的include的頭文件中也不能有OC的代碼;
OC和C++都是C的面向?qū)ο蟮某?。OC和C的主要區(qū)別在于:OC是完全動態(tài)的,支持在運行時動態(tài)類型決議,動態(tài)綁定,以及動態(tài)裝載;但是C是部分動態(tài)的,編譯時靜態(tài)綁定,通過嵌入類(多重繼承)和虛函數(shù)(虛表)來模擬實現(xiàn);
二、OC中存在私有方法、私有變量么?
在OC中,使用private修飾的全局變量就是私有變量;但是OC在語法上并沒有設(shè)計私有的方法,雖然可以通過延展在實現(xiàn)文件里面的定義方法作為私有方法,但并不是真正意義上的私有方法,這些方法可以被調(diào)用,只是外界看不到;
三、C語言中,extent的作用是什么? extent C 的作用是什么?
1、extent 可以南北防止在變量前或函數(shù)前,表示此變量或函數(shù)的定義在別的文件中,提示編譯器遇到此變量或函數(shù)時,需要在其他的模塊中尋找其定義;
2、C++語言在編譯時,為了解決函數(shù)的多態(tài)問題,會將函數(shù)名與參數(shù)聯(lián)合起來生成一個中間的函數(shù)名稱,而C語言則不會,因此會造成鏈接時找不到對應(yīng)函數(shù)的情況,此時,C函數(shù)就需要使用 extent C 進(jìn)行鏈接指定,告訴編譯器,請保持我的名稱,不要將其生成用于鏈接的中間函數(shù)名;