iOS测量代码执行时间
iOS准确的测量系统执行时间:在iOS的开发过程中,经常会为了满足严苛的用户体验要求,需要对某些功能和模块的执行时间进行控制,那么问题来了,如何高效的检测代码的执行时间
涉及的API
先来认识几个API,他们被包含在
<mach/mach_time.h>
在使用前我们需要先
#import <mach/mach_time.h>
进入mach_time.h文件,我们可以看到如下内容
struct mach_timebase_info {
uint32_t numer;
uint32_t denom;
};
typedef struct mach_timebase_info *mach_timebase_info_t;
typedef s...
点我阅读更多...
CocoaPods问题总结
在项目接入cocoapods后,打包机器打包方面暴漏和很多问题。总会莫名其妙的发生错误,让大家手足无措。
这里我来总结下常见的一些问题的处理方案,方便大家在日后的项目测试中做到有的放矢。
1.找不到相应的库
找不到相应的库的问题,我碰到的有两个原因
1.打包机器没有添加framework对应的源(如何添加源,请继续往下看)
2.本地cocoapods的版本与打包机器上cocoapods的版本不一致,这个问题通常是由于本地的版本高于MTL版本造成的
2.找不到相应的target
由于工程的迁移,或者开发人员的误操作,会造成本地target的丢失。这样在命令行打包过程中,会暴找不到target的错误,这时我们只需要将针对与个人的target设置成shared即可,如下:
重要:这里需...
点我阅读更多...
实现组合的C++代码
这些代码,验证了实现组合的一个算法。较为高效。运作原理就是常说的用二进制标志位标示选取的数字。
代码部分应该已经实现了所需的各个子函数,但是这个只是demo,如需要使用,需要检测是否有完备性问题。
现在将代码贴在这里:
#include
using std::cout;
using std::cin;
using std::endl;
#include
using std::string;
string createHelperStr(int maxCount,int subCount);
string* combination(string str,int subCount);
string sortStrASC(string str);
void printCombinatio...
点我阅读更多...
GNUstep编译.m文件并连接形成可执行文件
对于存在多个.m文件的程序,由于需要编译过程中是相互依赖的,并且再编译完成后需要连接方能产生可执行文件。所以我们可以按照如下方法实施:
例如,现在有文件Point.h Point.m main.m
我们可以写如下Makefile文件,然后make,完成编译和连接
建立GNUmakefile,在里边输入如下内容:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME=Test
Test_OBJC_FILES=source1.m source2.m
include $(GNUSTEP_MAKEFILES)/tool.make
可替换其中的黑体为自己的target和source文件名
然后在当前目录执...
点我阅读更多...
Linux编译Objective-C
首先安装必须的包:
(提供Ubuntu下安装方法)
1.gobjc
sudo apt-get install gobjc
2.gnustep
sudo apt-get install gnustep
3.gnustep-devel
sudo apt-get install gnustep-devel
安装完成后可用如下代码测试环境:
//main.m
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSLog (@"hello Objective-C\n");
return 0;
}
编译命令为:
gcc `gnu...
点我阅读更多...
舍友的大作,很赞~~
读大学犹如大海中行船,风平浪静中略见波澜;如今,船已近岸,回首四年的航程,思绪万千,饮其流者思其源,学至成时念吾师。
毕设路上,点点滴滴都凝聚着恩师的心血和智慧,从毕设立题、拟定框架、资料收集,直至最后成文,每一步都凝聚着老师的的汗水与付出。悉心指导,亲切交流,老师以严谨的治学态度、渊博的学识、敏锐的思维、以及她独特的人格魅力,给予我巨大帮助的同时也谦卑了一颗年轻的心;纵有千言,难尽师恩无限,在此谨向老师表达我最崇高的敬意!
漫漫航程,感谢大学四年各位任课老师的指点和各位同学的相伴,在人生最徜徉的年纪,我们一起学习、共同进步。这份美好将与记忆共长存。
感谢家人对我这些年一贯默默地支持。人生路上,无论何时何地,父母的养育之恩和无私的爱,是每个儿女无论如何都不足以偿还的!
最后我还要感谢下...
点我阅读更多...
扫雷当点到空白处的迭代算法
扫雷点到空白处后展开与空白处相邻的空白处:
int ComputeEmpty(int aMine[][12],int x,int y)
{
if(x < 1 || x > 10 || y < 1 || y > 10)
return -1;
cout<<"("<<x<<","<<y<<")\t";
aMine[x][y] = -2;
0 != aMine[x-1][y-1] ? -1 :ComputeEmpty(aMine,x - 1,y - 1);
0 != aMine[x-1][y] ? -1 :ComputeEmpty(aMine,x - 1,y);
0 != aMine[x-1]...
点我阅读更多...