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等,很多用起来很简洁的东西