一、新建项目
  iOS | Framework & Library
    Cocoa Touch Static Library

新建一个Library库

1. M.h头文件

#ifndef M_h
#define M_h #include <stdio.h>
void testSleep(int t); void testPthread(int n); ​#endif /* M_h */

2. M.c实现文件

#include "M.h"
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h> void testSleep(int t)
{
printf("testSleep:\n");
int i;
for (i=; i<; i++)
{
printf("sleep...\n");
usleep(t*);
printf("return...\n");
}
} void *thrFun(void *p)
{
int t = (int)p;
int i;
for (i = ; i<; i++)
{
printf("thrFun %d\n", t);
sleep();
}
return NULL;
} void testPthread(int n)
{
void *retval;
pthread_t *tid = (pthread_t *)malloc(sizeof(pthread_t)*n);
int i;
for (i=; i<n; i++)
pthread_create(&tid[i], NULL, thrFun, (void *)i);
for (i=; i<n; i++)
pthread_join(tid[i], &retval);
}

cmd + B 编译,此时只编译模拟器了版本,可以连接手机编译真机版本静态库文件,编译成功后会在电脑上生成相关的.a静态库文件;

libM.a文件所在目录

/Users/xx/Library/Developer/Xcode/DerivedData/M-xxx/Build/Products/Debug-iphonesimulator
/Users/xx/Library/Developer/Xcode/DerivedData/M-xxx/Build/Products/Debug-iphoneos

两个路径分别是模拟器,真机版本的输出目录。

将libM.a库文件和M.h头文件拷贝到外部项目即可使用静态库里面的函数了。

二、查看 .a 文件支持的平台

通过lipo命令来查看

lipo -info xxLibrary.a

输出结果:

Architectures in the fat file: xxLibrary.a are: armv7 armv7s i386 x86_64 arm64 

上面几个平台分别对应的手机

  • armv7是iphone5之前的设备指令集架构;
  • armv7s是iphone5、iphone 5s的指令集架构;
  • arm64是iphone6、iphone 6plus的指令集架构;
  • i386以及x86_64是MAC的指令集架构;

如果某个 .a 文件只支持某一个平台,但我们的应用在发布的时候,都会需要支持所有平台的库,所以build会报错,此时可以把各个支持单个平台的 .a 文件合并。

lipo -create XXXX_V7.a XXXX_V7s.a -output XXXX_all.a

三、查看 .framework 文件支持的平台

lipo -info ./****.framework/****

输出结果:

Architectures in the fat file: ./****.framework/**** are: i386 armv7 armv7s 

如此便可查看你工程中的静态库是否支持64位。

iOS 从C移植项目到Objective-C的更多相关文章

  1. IOS之UI--小实例项目--综合使用

    前言: 本博文是基于前一个小实例项目:IOS之UI--小实例项目--添加商品和商品名 进行继续综合学习积累的. 内容大纲 01-综合使用01-plist的使用 02-综合使用02-模型取代字典的好处分 ...

  2. iOS、mac开源项目及库汇总

    原文地址:http://blog.csdn.net/qq_26359763/article/details/51076499    iOS每日一记------------之 中级完美大整理 iOS.m ...

  3. Github上关于iOS的各种开源项目集合2(强烈建议大家收藏,查看,总有一款你需要)

    资源list:Github上关于大数据的开源项目.论文等合集 Awesome Big Data A curated list of awesome big data frameworks, resou ...

  4. Eclipse打war包方法以及Eclipse移植项目时JDK版本不匹配Project facet Java version 1.7 is not supported

    打包时: 在项目上右键选择Export,如图: 然后选择WAR file,如图所示.接着再:其中web projecct为打出来包的名字, Destination,打包后存的位置,点击Browse.. ...

  5. Eclipse移植项目时JDK版本不匹配Project facet Java version 1.7 is not supported

    Eclipse移植项目时JDK版本不匹配Project facet Java version 1.7 is not supported 如果原有项目用的为JDK1.7,而自己的是低版本JDK,比如1. ...

  6. 异数OS国产CPU平台移植项目需求分析

    异数OS国产CPU平台移植项目需求分析 目录 异数OS国产CPU平台移植项目需求分析 项目立项背景 项目需求分析 异数OS性能指标简介 1.TCP协议栈性能测试 2.异数OS-织梦师-水母 消息队列性 ...

  7. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  8. github上关于iOS的各种开源项目集合(转)

    UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...

  9. 转: Github上关于iOS的各种开源项目集合

    https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...

随机推荐

  1. Apache Shiro 集成-Cas

    http://blog.csdn.net/peterwanghao/article/details/8825008 Shiro集成CAS是在1.2版本里新增的功能. Shiro-cas模块将应用作为C ...

  2. GestureDetector封装手势检測上下滑动

    项目中须要检測ListView的上滑下滑隐藏顶部View控件,之前在网上也有非常多实现案例.在git上发现个封装非常不错的样例,记录下来. GestureDetector是一个手势检測类,内部有个Si ...

  3. C# 创建新RTF文件

    这个和WINDOWS创建RTF文件一样 public void CreateRtfFile(string RtfFileName) { RichTextBox richTextBox1 = new R ...

  4. NSString、NSMutableString基本使用

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主.捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  5. MySQL 5.6 SQL 优化及 5.6手册

    http://blog.chinaunix.net/uid-259788-id-4146363.html http://www.cnblogs.com/Amaranthus/p/4028687.htm ...

  6. hadoop错误DataXceiver error processing WRITE_BLOCK operation

    错误: DataXceiver error processing WRITE_BLOCK operation 原因:     文件操作超租期,实际上就是data stream操作过程中文件被删掉了. ...

  7. promise和Angular中的 $q, defer

    在ES6语法中,新出了promise构造函数, 可用来生成promise实例. Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作).有了promise对象, 可以将异步操作以同步 ...

  8. 可变字典 NSMutableDictionary

    存到nsuesrDefault里面一个可变字典,然后用一个可变字典去接收. NSMutableDictionary *dic = [[NSUserDefaults standardUserDefaul ...

  9. POJ 1845 Sumdiv(因子分解+快速幂+二分求和)

    题意:给你A,B,让求A^B所有的因子和模上9901 思路:A可以拆成素因子的乘积: A = p1^x1 * p2^x2 *...* pn^xn 那么A^B = p1^(B*x1) * p2^(B*x ...

  10. Js完美验证15/18身份证,Js验证身份证,支持15/18位

    Js完美验证15/18身份证,Js验证身份证,支持15/18位 >>>>>>>>>>>>>>>>> ...