一、新建项目
  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. EL表达式及其定义和使用 转

    作者:http://blog.csdn.net/goskalrie/article/details/51315397 简介 EL(Expression Language)表达式语言实在JSP2.0版本 ...

  2. tomcat多域名配置

    1.找到你的tomcat然后在conf文件中找到server.xml打开: <Server port="8005" shutdown="SHUTDOWN" ...

  3. 加速 Gradle 构建大型 Android 项目的方法[转]

    加速 Gradle 构建大型 Android 项目的方法 时间 2016-03-14 20:38:00  Mystra 原文  http://www.wangchenlong.org/2016/03/ ...

  4. js 设置cookie

    function GetCookieVal(offset) // 获得Cookie解码后的值 { var endstr = document.cookie.indexOf(";", ...

  5. Hadoop 2.4.0新特性介绍

    在2014年4月7日,Apache公布了Hadoop 2.4.0 .相比于hadoop 2.3.0,这个版本号有了一定的改进,突出的变化能够总结为下列几点(官方文档说明): 1 支持HDFS訪问控制列 ...

  6. FC网络学习笔记01

    1.Fibre Channel 也就是“网状通道”的意思,简称FC,可以称其为FC协议.FC网络或FC互联. 2.像TCP/IP一样,FC协议集同样具备TCP/IP协议集以及以太网中的概念,比如FC交 ...

  7. 微软Office与金山WPS Office有何私密关系?

    新浪科技讯,9月1日午间消息,国家工商总局在其官网公布消息称.对微软公司副总裁陈实进行反垄断调查询问,要求微软就其综合情况以及企业反映的微软公司Windows操作系统和Office办公软件相关信息没有 ...

  8. FASTDFS 5X安装

    FASTDFS 5X安装 http://www.wingdevops.com/?p=603 流行的开源分布式文件系统有很多,FastDFS 是国人在mogileFS的基础上进行改进的key-value ...

  9. 第一个Xcode项目 - 代码修改布局约束

    第一行的选中效果已经有了,那第二行的选中效果怎么做呢?我这里选择改变布局约束来实现选中效果 [我有个用object-c做APP的同事他说,我觉得这个应该去获取色块的位置,然后赋给选中用的View,然后 ...

  10. ViewPager的用法和实现过程

    看图先:          页面中填充内容是随机关键词飞入和飞出动画效果,随后会更新,如今请先无视吧 首先是 导入jar包   下载地址:android-support-v4.jar 布局文件中加入v ...