target

iOS开发workspace和多个target

余生长醉 提交于 2020-02-18 13:45:58
一、workspace的作用: 1、一个项目复用代码:可以关联多个工程文件,便于复用代码,提高开发效率。 2、开发多个项目:同时开发多个项目的时候可以使用workspace,把这几个项目关联起来。 3、模块化:开发SDK时用workspace,可以将各个功能不同的库文件(.a or framework)模块化,分开管理。 二、workspace的使用: 1、创建workspace: 先创建一个工作文件夹,然后在Xcode的File —> New —> workspace。 2、创建工程: 创建多个工程(.xcodeproj)文件,可以是多个项目。也可以是一个项目多个.a静态库。 3、将workspace和工程文件关联起来: xcode7可以add,xcode6之前都是拖进来。 三、配置:(这个是重点) 怎么设置参考下面的文献。 1、对于编译有静态库的xcworkspace 可以设置静态库和主工程文件的先后的编译顺序。 2、设置主工程的头文件搜索路径:header search path : $(BUILT_PRODUCTS_DIR)/include/静态库的名字. 3、注意点:   3.1、静态库的编译一定要编译真机的,要不一直都是红色的,不能用。只有编译了真机的才能变成灰色。   3.2、静态库中使用了分类文件 一定要在 other link flag 添加 -ObjC   3

GoldenGate实施步骤

穿精又带淫゛_ 提交于 2020-02-18 07:54:23
一、GoldenGate实施环境 source database:oracle 11.2.0.3 target database:oracle 11.2.0.3 需要配置的进程如下: source database:extract、data pump target database:replicat 说明如下: 1、主提取进程首先将trail生成在本地,然后datapump读取本地trail再发送到目标服务器,即便网络故障,主提取进程仍然能随着事务生成trail文件,而datapump则会暂时停止传输,等待网络通畅后在将堆积的本地trail文件发送至目标服务器,从而实现了断点传输的功能。在实际应用中,每一个同步流程都应该配置datapump以应对网络问题。 2、配置进程检查点(checkpoint):检查点记录了进程读写的位置信息用以数据恢复,目的是为了防止进程因系统、网络崩溃而导致的数据丢失。oracle推荐将复制进程的检查点信息存放到数据库表中进行管理: 首先在./globals参数文件中加入: CHECKPOINTTABLE [<owner>.<table>] --指定的检查点记录表 然后运行: GGSCI> DBLOGIN USERID <db_user>, PASSWORD <pw> GGSCI> ADD CHECKPOINTTABLE [<owner>.<table>]

第4课.编写通用的Makefile

巧了我就是萌 提交于 2020-02-18 02:41:44
1.框架 1. 顶层目录的Makefile 2. 顶层目录的Makefile.build 3. 各级子目录的Makefile 2.概述 1.各级子目录的Makefile: 它最简单,形式如下: obj-y += file.o obj-y += subdir/ "obj-y += file.o"表示把当前目录下的file.c编进程序里, "obj-y += subdir/"表示要进入subdir这个子目录下去寻找文件来编进程序里,是哪些文件由subdir目录下的Makefile决定。 注意: "subdir/"中的斜杠"/"不可省略 2.顶层目录的Makefile: 它除了定义obj-y来指定根目录下要编进程序去的文件、子目录外,主要是定义工具链、编译参数、链接参数──就是文件中用export导出的各变量。 3.顶层目录的Makefile.build: 这是最复杂的部分,它的功能就是把某个目录及它的所有子目录中、需要编进程序去的文件都编译出来,打包为built-in.o 详细的讲解请看视频。 3.解析 顶层Makefile 注:=为延时变量;:=为立即变量 CROSS_COMPILE = arm-linux- 编译器前缀这里使用arm-linux-(交叉编译器);不使用arm-linux-则使用gcc编译器 AS = $(CROSS_COMPILE)as LD = $(CROSS

对 Linux下CMake生成和调用动态库 的一点补充

爱⌒轻易说出口 提交于 2020-02-18 01:40:40
使用动态库时 不仅可以像文中那样 #//链接库到可执行文件 target_link_libraries(usehellolib ${PROJECT_SOURCE_DIR}/…/Generate_lib/lib/libhello.so ) 而且可以 target_link_libraries(usehellolib libhello # 链接库的名字 ) 来源: CSDN 作者: stephen_ojbk 链接: https://blog.csdn.net/m0_46345373/article/details/104364144

javascript获取iframe框架中页面document对象,获取子页面里面的内容,iframe获取父页面的元素,

孤街浪徒 提交于 2020-02-18 01:32:36
javascript获取iframe框架中,加载的页面document对象 因为浏览器安全限制,对跨域访问的页面,其document对象无法读取、设置属性 function getDocument(iframe) { var Doc; try{ Doc = iframe.contentWindow.document;// For IE5.5 and IE6 } catch(ex){} if(!Doc) { Doc = iframe.contentDocument;// For NS6 } return Doc; } 用iframe嵌套页面是,如果父页面要获取子页面里面的内容,可以使用contentWindow或者contentDocument,其区别如下: a>contentWindow 这是个只读属性,返回指定的iframe的窗口对象。它虽然不是标准的一部分,但各个主流浏览器都支持。 b>contentDocument Firefox 支持,IE6,IE7都不支持,IE8开始支持,需要如此访问 document.frames['J_mainframe'].document。 兼容获取document对象: var getIFrameDoc = function(){ var iobj = document.createElement("iframe"); document

每日记载内容总结20

这一生的挚爱 提交于 2020-02-17 23:24:36
1.mysq问题(转) 严重: The web application [/codeMarket] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@e1666]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@e0ada6]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 2012-2-9 17:43:12 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap 严重: The web application [/codeMarket] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@a8a314]) and a value of type

STL详细介绍(更新中~~~)

雨燕双飞 提交于 2020-02-17 23:16:27
目录 string string的常见构造函数 string与char *(或const char*)之间的转换 string 转化为const char* const char* 转化为string string 转化为 char* char* 转化为string find函数 string 帮助链接: https://www.jianshu.com/p/497843e403b4 string的常见构造函数 //通过const char * 初始化 string s1 = "aaaa"; //构造函数初始化 string s2("bbbbb"); //通过拷贝构造函数来初始化对象s3 string s3 = s2; //用10个'a'字符来初始化字符串 string s4(10, 'a'); string与char *(或const char*)之间的转换 string 转化为const char* string str("aaaaaaa"); const char *s = str.c_str(); /*str.c_str()返回的应该是const char* 类型*/ const char* 转化为string const char *p1 = "123345"; string str1 = p1; /*直接拷贝*/ //或者这样 string str2(p1);

北京大学肖臻老师《区块链技术与应用》公开课笔记7——BTC挖矿难度调整篇

╄→尐↘猪︶ㄣ 提交于 2020-02-17 19:10:39
北京大学肖臻老师《区块链技术与应用》公开课笔记 比特币挖矿难度调整篇,对应肖老师视频:https://www.bilibili.com/video/av37065233?p=7 全系列笔记请见:https://blog.csdn.net/Mu_Xiaoye/article/details/104299664 之前有提到过,在比特币系统中,区块链的出块时间保持在平均10min左右。毫无疑问的是,伴随着参与挖矿的人增多,系统总算力不断增强,挖矿的难度绝对不能一成不变。实际上,在比特币系统开发过程中,中本聪便考虑到了这个问题,并设计了一个相应的难度调整算法。这一篇,便了解一下比特币系统中的挖矿难度调整算法。 为什么要调整挖矿难度 之前已经提过,挖矿本质上就是不断调整block header中的nonce值,使整个block header的哈希值小于等于给定的目标阈值。即:H(block header)<=target.(target便是目标阈值,target越小,目标难度就越大)对于挖矿难度的调整,可以视为调整目标空间在整个输出空间中所占比例大小。 之前有提及,比特币系统采用的哈希算法为SHA-256,所以整个输出空间大小为2^256,调整目标空间所占比例,简单的说需要目标值前需要多少个0。 当然,挖矿难度和目标阈值成反比,如下图所示,其中difficulty_1

Glide万字解密

梦想的初衷 提交于 2020-02-17 19:05:24
Glide现在应用最广的一个图片加载框架了,一直都想对它下手,每次都是深陷其中。。。这次狠下心来,对它来个全面的剖析,争取对整个流程和其中的细节都有一个覆盖。 本文的Glide的解析是基于最新的4.11.0版本来进行的。 其实从一般的网络加载图片,可以简单分析下大体的流程,无非就是建立相关的请求信息,然后通过线程池技术对请求信息进行请求,然后将下载的图片文件进行转化显示。 先来看个简单的测试使用代码开始,然后逐步深入 Glide.with(view.getContext()) .load(url) .into(view); with() Glide的 with 函数为我们提供了不同的入参,其最终的返回对象都是 RequestManager 我们的测试代码用的是 Context 那么这里我们就跟踪一下这个函数,其实其他几个都是相似的 @NonNull public static RequestManager with(@NonNull Context context) { return getRetriever(context).get(context); } @NonNull private static RequestManagerRetriever getRetriever(@Nullable Context context) { //校验Context不能为空

读取csv文档

孤者浪人 提交于 2020-02-17 15:08:20
import csv import numpy as np boston_dir_path = r'D:\annconda\Lib\site-packages\sklearn\datasets\data\boston_house_prices.csv' def load_boston(): with open(boston_dir_path) as f: data_file = csv.reader(f) temp = next(data_file) n_simples = int(temp[0]) n_features = int(temp[1]) data = np.empty((n_simples,n_features)) target = np.empty((n_simples,)) temp = next(data_file) features_name = np.array(temp) for i,d in enumerate(data_file): data[i] = np.asarray(d[:-1],dtype=np.float64) target[i] = np.asarray(d[-1],dtype=np.float64) return data,target if __name__ == '__main__': data,target = load