1. 如何在mac os x上寫C程序
1、打開Launchpad裡面的其他文件夾,打開終端。
2. iOS將oc的.m文件編譯成C++的.cpp文件
因為在學習oc語言block的底層原理,所前指以需要將oc的.m轉成c++的.cpp格式文慧姿配件,這樣可以方便我們窺探一些本質的東西
比如要將我的工程BlockTest的main.m轉換成.cpp,操作如下
1:打開終端 cd 自己的工程文件
2:終端輸入:clang -x objective-c -rewrite-objc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/冊搏iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk xxx.m,其中xxx.m替換成自己需要轉換的文件,然後敲回車
3:回到自己的工程文件目錄下查看,會多了一個.cpp文件
4:將文件添加到工程目錄
5:從編譯器中移除.cpp,保證項目正常運行
3. ios 怎麼配置編譯ffmpeg
IOS上編譯ffmpeg需要先下載兩個程序:iFrameExractor和ffmpeg
編譯步驟:
1、在終端下: cd /iFrameExtractor/ffmpeg 建議開始就執行 sudo -s (獲取許可權命令)
2、在終端下輸入 ./configure --prefix=/iFrameExtractor/ffmpeg --libdir=iFrameExtractor/ffmpeg/lib --enable-gpl --enable-static --disable-shared --enable-swscale --enable-zlib --enable-bzlib --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads
3、執行make 這里會有一堆的編譯情況。
註:最好先升級Command Line Tools,避免編譯錯誤
4、執行make install。 (執行完後 到iFrameExtractor/ffmpeg/lib文件上去看看)
出現 libavcodec libavdevice libavformat libavutil libswscale5個.a文件
5、用xcode 打開iFrameExractor工程,確認Header Search Paths里有:"$(SRCROOT)/ffmpeg"路徑。 $(SRCROOT)表示工程路徑。同時可以看到iFrameExractor工程下ffmpeg文件下的.a文件都不是紅色的了。
6、真機上編譯(模擬器上i386,真機上是arm的,真機還分arm6 和arm7 )
以下是針對arm7的
/configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' -- sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic
7、執行 make 和make install 就有上面的幾個.a文件,至此編譯結束。
4. ios開發是什麼語言
一、iOS開發語言主要包括:C語言基礎、Obiective-C編程、Swift、UIKit框架
C語言基礎 C語言是開發語言的基礎,是最常用的一門程序設計語言,最常用於編寫計算機程序。
Obiective-C編程 Obiective-C是在C語言的基礎上,加入面向對象特性擴充而成的通用型高級編程語言。
Swift是蘋果新開發的語言,目的就是取代OC,我也正在學習,最大感受就是簡潔與效率高 UIKit框架詳解 UIKit框架是iPhone應用程序開發中最基本的框架,也是最常用到及最重要的框架。
語言基本上都是差不多的,只是換了一種寫法,更甚至可以說編程上思想都基本相同,只是換了一種表達方式。
二、最基本的頭文件
OC中的頭文件和實現文件
.h文件類似C++中的.h文件
.m文件類似.cpp文件
頭文件作用也都差不多,聲明一些函數方法,屬性或變數,作用都是提供介面
Swift不一樣,沒有頭文件!!直接用便可。
所有實現文件後綴都是.swift C++導入頭文件是用#include OC導入頭文件可以用#include和 #import,但是一般我們都用#import,例如 #import 「ViewController.h"
因為#import導入同一個頭文件多次也只會導入一次(已經導入會被忽略),防止重復導入
OC還有一種用法是@class 類名,這樣告訴編譯器這是一個類,不要管他的內部細節,這樣提高了效率,防止了頭文件的循環引用,當然你不能訪問這個類的內部細節
Swift也需要導入一些框架,直接import就行,不用#,例如 import Foundation
三、基本的數據類型
接下來我們來看一下基本的數據類型,我就說一些比較常用的吧,C++的我就不說了。 OC中的數據類型
OC中很多數據類型都有NS前綴,那算因為OC是喬布斯第一次離開蘋果後創建的公司NextStep所開發的,所以就有NS
數據類型我只是用一些簡單直白的創建方式,其實還有很多種創建方式
四、Swift
Swift的數據類型也差不多,無非就是Int,Float,Double,String這些
例如 var str = @「hello world」
編譯器便會自動推斷str為String類型
Swift中聲明類型一般用let,和var,let表示定義常量,var定義變數
var a = 1 把a推導為Int 當然你也可以寫上類型 var a: Int = 1
在Swift中可以省略分號,寫和不寫都行,但定義兩個變數放在同一行就要,分隔開嘛
當然Swift對比OC也多了很多東西,例如元組tuple,閉包Closure等,很多用起來很簡潔的東西