Amp

深入浅出Android NDK之打印调用堆栈

随声附和 提交于 2020-08-12 08:12:53
目录 上一篇 深入浅出Android NDK之崩溃分析 为了能在native层打印函数的调用堆栈,找了好久的资料,最后终于找到一个靠谱的链接: https://www.jianshu.com/p/4a5eeeee6d29 主要通过调用_Unwind_Backtrace函数来获得函数的调用堆栈,但是原文的并不好用,地址通过addr2line转换以后得不到函数名和行号,主要原因我们得到的地址是运行时地址,应该减去SO的基地址再来转换,下面看我改造后的例子,更好用。 #include <unwind.h> #include <dlfcn.h> #include <vector> #include <string> #include <android/log.h> static _Unwind_Reason_Code unwindCallback(struct _Unwind_Context* context, void* arg) { std::vector<_Unwind_Word> &stack = *(std::vector<_Unwind_Word>*)arg; stack.push_back(_Unwind_GetIP(context)); return _URC_NO_REASON; } void callstackDump(std::string &dump) { std:

nohup java nohup 启动java 程序

て烟熏妆下的殇ゞ 提交于 2020-08-12 07:42:40
nohup java -jar test.jar > nohup.out & java -jar test.jar & nohup java -jar test.jar > /dev/null 2>&1 & 1.nohup 启动输出nohup文件 2.& 后台启动 3.如果有自己的日志文件,nohup 不输出,把nohup 的内容 和 合并 stdout stderr 输出到垃圾桶里,并后台运行 来源: oschina 链接: https://my.oschina.net/lavedream/blog/4298598

云小课 | 搬迁本地数据至OBS,多种方式任你选

本小妞迷上赌 提交于 2020-08-12 07:34:13
摘要: 搬迁本地数据至OBS,包括OBS工具方式、CDM方式、DES磁盘方式、DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别。 已有的业务数据可能保存在本地的自建存储服务器上,也有可能保存在第三方云厂商中,可能大家首要面临的问题就是还不清楚如何将自己的业务数据搬迁至OBS。华为云OBS提供全场景的数据迁移解决方案,满足从离线到在线,从云下到云上,从友商云到华为云,从GB级到EB级的数据迁移需求,实现“企业数据迁移零门槛”。前面小课已经为大家介绍迁移第三方云厂商数据至OBS的方法,今天继续为大家介绍搬迁本地数据至OBS的方法。 华为云当前提供了多种线下到线上的数据搬迁方案,帮助用户将自建存储服务器上的数据短时间、低成本、安全、高效地搬迁至OBS。用户可根据数据量、耗时、费用等需求选择适合的方案进行数据搬迁。 针对不同的搬迁场景及需求,华为云提供的搬迁方案如下: 下面小编将针对以上五种方案做详细介绍: OBS工具方式 OBS工具方式适用于百GB规模的数据搬迁。OBS提供OBS Browser、obsutil等多种客户端工具,方便用户在本地直接将数据上传至OBS。由于上传需要占用用户公网带宽,为不影响用户在公网上主营业务,建议利用公网带宽空闲的时间上传数据。各工具使用场景及操作指导,请参见 OBS工具指南 。 CDM方式 云数据迁移(Cloud

设置Echarts鼠标悬浮样式

混江龙づ霸主 提交于 2020-08-12 07:10:02
tooltip: {//自定义tip show: true, trigger: 'axis', show: true, //default true showDelay: 0,//显示延时,添加显示延时可以避免频繁切换 hideDelay: 50,//隐藏延时 transitionDuration: 0,//动画变换时长 backgroundColor: 'rgba(0,0,0,0.7)',//背景颜色(此时为默认色) borderRadius: 8,//边框圆角 padding: 10, // [5, 10, 15, 20] 内边距 position: function (p) { // 位置回调 // console.log && console.log(p); return [p[0] + 10, p[1] - 10]; }, formatter: function (params, ticket, callback) { // console.log(params); var tip = "上报时间" + ' : ' + params[0].name + "<br/>"; for (var i = 0, l = params.length; i < l; i++) { if(params[i].seriesName=='温度'){ tip += '<br/>' + '

竞享实例:让你尽享云服务的“鱼”和“熊掌”

橙三吉。 提交于 2020-08-12 06:31:16
摘要: 竞享实例作为创新商业模式,为用户提供除按需、包周期之外的新模式 ,即用户可以先到先享,并将颗粒化算力瞬间批量组织起来用于各类可容错场景,其以远低于同类产品的价格以及出色性能为离线转码、离线渲染、基因测序及Web应用等可容错业务场景提供强有力的基础支撑,助力用户瞬享自由算力。 随着5G、AI、云计算及物联网等新技术的快速演进,全球数据正在指数级增长并呈海量喷涌的态势。 这些海量喷涌的数据,则意味着计算成本、运维成本以及人力成本面临大幅上升的趋势。特别是一些影视、生物、金融等领域的企业必须在业务应用中做出艰难的选择,无论是机器学习还是高性能计算,视频和图像处理,不仅是吞噬数据的饕餮,更是消耗算力的“黑洞”。如何即能满足各种无状态、可容错、大规模等业务场景的算力需求,又能降低算力成本,则成为企业面临的难题。 针对企业面临的突发性算力需求,华为云结合其产品优势推出了“竞享实例”服务。竞享实例作为创新商业模式,为用户提供除按需、包周期之外的新模式 ,即用户可以先到先享,并将颗粒化算力瞬间批量组织起来用于各类可容错场景,其以远低于同类产品的价格以及出色性能为离线转码、离线渲染、基因测序及Web应用等可容错业务场景提供强有力的基础支撑,助力用户瞬享自由算力。 三大场景,瞬享自由算力 极致性能,激发潜能 影视特效作为电影产业中或不可缺的元素之一,为电影的发展做出了巨大的贡献

爬虫框架Scrapy的安装与基本使用【此文章不完全正确,参考去哪儿网抓城市列表文章】

跟風遠走 提交于 2020-08-12 06:27:58
一、简单实例,了解基本。 1、安装Scrapy框架 pip install scrapy 直接安装 这里如果直接pip3 install scrapy可能会出错。 所以你可以先安装lxml:pip3 install lxml(已安装请忽略)。 安装pyOpenSSL:在官网下载wheel文件。 安装Twisted:在官网下载wheel文件。 安装PyWin32:在官网下载wheel文件。 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 配置环境变量:将scrapy所在目录添加到系统环境变量即可。 ctrl+f搜索即可。 最后安装scrapy,pip3 install scrapy 2、创建一个scrapy项目 新创建一个目录,按住shift-右键-在此处打开命令窗口 输入:scrapy startproject tutorial即可创建一个tutorial文件夹 文件夹目录如下: |-tutorial |-scrapy.cfg |-__init__.py |-items.py |-middlewares.py |-pipelines.py |-settings.py |-spiders |-__init__.py 文件的功能: scrapy.cfg:配置文件 spiders:存放你Spider文件,也就是你爬取的py文件 items

CentOS8安装最新版本Chromium浏览器

微笑、不失礼 提交于 2020-08-12 06:11:41
Chromium浏览器是Chrome浏览器的开源版本,本文介绍如何使用snap工具安装最新版本的Chromium浏览器。 环境 Centos 8 安装snapd工具 使用snap安装chromium,可以安装最新版本的,下面是安装 命令 : [bob@localhost ~]$ sudo dnf install -y snapd # 使snapd开机启动,并马上启动服务。 [bob@localhost ~]$ sudo systemctl enable snapd --now 安装chromium 接下来就是用snap安装chromium-83.0.4103.61吧。 [bob@localhost ~]$ sudo snap install chromium 打开chromium,查看一下版本。 如何安装Chromium 测试版? 使用snap工具可以安装测试版本的Chromium-84.0.4147.21浏览器。我们先把之前安装的卸载掉: [bob@localhost ~]$ sudo snap remove chromium chromium removed 接下来安装Beta版本的Chromium: [bob@localhost ~]$ sudo snap install chromium --beta 打开浏览器看一下吧: 可以在 命令 行输入命令打开chromium浏览器

leetcode-1346(检查整数及其两倍数是否存在)--C语言实现

与世无争的帅哥 提交于 2020-08-12 05:54:51
求: 给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M)。 更正式地,检查是否存在两个下标 i 和 j 满足: i != j 0 <= i, j < arr.length arr[i] == 2 * arr[j] 示例 1: 输入:arr = [10,2,5,3] 输出:true 解释:N = 10 是 M = 5 的两倍,即 10 = 2 * 5 。 示例 2: 输入:arr = [7,1,14,11] 输出:true 解释:N = 14 是 M = 7 的两倍,即 14 = 2 * 7 。 示例 3: 输入:arr = [3,1,7,11] 输出:false 解释:在该情况下不存在 N 和 M 满足 N = 2 * M 。 提示: 2 <= arr.length <= 500 -10^3 <= arr[i] <= 10^3 解: 首先最直观的想到暴力法,时间复杂度是O(N^2) bool checkIfExist( int * arr, int arrSize){ int i,j; for (i= 0 ;i<arrSize;i++){ for (j=i+ 1 ;j<arrSize;j++) if (arr[i]==arr[j]* 2 || arr[j]==arr[i]* 2 ) return true ; }

至联云讲解《区块链的新宠IPFS/Filecoin》

我的未来我决定 提交于 2020-08-12 05:47:30
目前IPFS&Filecoin是互联网的“新宠”,许多人并不知道为什么我们会如此看中IPFS&Filecoin,一个新的事物产生必定是社会层层迹象下衍生出来的,而它的取代和更新是大环境真正需要的,并不是所谓“空中楼阁”。下面我们来看看IPFS实际用法有哪些吧! 一、 互联网信息安全 比如百度云存有你的照片,你认为照片属于自己,但同时百度有权利有能力看到你的照片。企业资料也一样,隐私安全很难保障。 而IPFS采用的是区块链技术,去中心化的概念天生就具备抵抗攻击的能力,所有的数据都分布在不同的节点,想入侵就要攻击所有的节点,这有效的保证了数据的安全,保护了用户的隐私。 二、 数据储存的安全 没有了中心化的数据管理,数据的安全性更高,很难被窥探或被复制。全网分布式的数据存储,降低了因为战争、自然灾害、人为等原因造成的数据遗失损坏,利于让有价值的数据被永久保存。 三、 节省带宽 比如我们现在看视频,这视频通常是同一个中心化的服务器发送过来的数据,那么对中心化的服务器的出口带宽依赖程度非常高。 而IPFS这种的是点对点的一个伞状的网络结构,那么它们的数据传输会采取一些多点传输就近原则,这样就节约了很大的带宽,降低了成本。 那么还有一个降低成本的方式,就是整个网络只存储一份文件或者内容,只需要对应一个哈希地址,同时可以降低存储成本。 四、 完美支撑区块链 区块链的本质是分布式和去中心化

SHELL编程

牧云@^-^@ 提交于 2020-08-12 05:46:05
1.Shell编译器 默认解析器是bash echo $SHELL 2. 创建第一个示例脚本,hello world touch helloworld.sh vim helloworld.sh #!/bin/bash #指定解析器 echo "helloworld" 运行区别: 1.sh不需要执行权限 本质是bash解析器帮你执行脚本,所以脚本本身不需要执行权限 2. ./helloworld.sh 需要执行权限 ,本质是脚本需要自己执行 创建一个多命令脚本 需求:在/home/某目录下创建一个banzhang.txt,在banzhang.txt文件中增加"I love cls" 系统变量和自定义变量 常用系统变量:查看所有环境变量 env $HOME 当前家目录 $PWD 当前目录 $SHELL 默认解析器 $USER 当前用户 自定义变量 定义变量:变量=值 =号两边没有空格 撤销变量:unset 变量 设置静态变量B=2,无法unset(重启时自动删除) 注意事项: 1.变量名可以由字母,数字,下划线组成,但是不能以数字开头,环境变量名建议大写 2.等号两边不能有空格 3.在bash中,变量默认类型都是字符串类型,无法字节进行数值运算 4.变量的值如果有空格,需要使用双引号或者单引号括起来 可将变量提升为全局变量:export 变量名 特殊变量:基本语法 $n #功能描述