sprintf

STM32学习笔记一一UCOSII(1)

[亡魂溺海] 提交于 2019-11-30 10:23:32
1.简介 UCOSII 是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。 1.1 UCOSII 体系结构图 UCOSII 的移植,我们只需要修改: os_cpu.h、 os_cpu_a.asm 和 os_cpu.c等三个文件。 os_cpu.h: 进行数据类型的定义,以及处理器相关代码和几个函数原型; os_cpu_a.asm:是移植过程中需要汇编完成的一些函数,主要就是任务切换函数; os_cpu.c:定义一些用户 HOOK 函数。 定时器的作用:为 UCOSII 提供系统时钟节拍,实现任务切换和任务延时等功能。这 个时钟节拍由 OS_TICKS_PER_SEC(在 os_cfg.h 中定义)设置,一般我们设置UCOSII 的系统时钟节拍为 1ms~100ms,具体根据你所用处理器和使用需要来设置。本章,利用 STM32的 SYSTICK 定时器来提供 UCOSII 时钟节拍。 1.2 任务 任务:其实就是一个死循环函数,该函数实现一定的功能,一个工程可以有很多这样的任务(最多 255 个), UCOSII 对这些任务进行调度管理, 让这些任务可以并发工作(注意不是同时工作,并发只是各任务轮流占用 CPU,而不是同时占用,任何时候还是只有 1个任务能够占用

快递鸟物流单号识别查询api接口免费对接调用

浪尽此生 提交于 2019-11-30 07:41:43
快递鸟集成快递单号查询API接口,可以同时对接顺丰快递查询,中通、申通、圆通、韵达、百世、EMS等国内外418家物流快递公司接口查询等。这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务。对于电商企业,ERP服务企业,集成此接口到自己的软件中,增加了企业的竞争力。 一、接口应用场景 1.在电商平台购物后,通过购物订单跟踪物流时,调用此API获取物流信息详情 2.处理运费对账时,一键获取运单物流状态 3.批量跟踪及获取运单物流信息 对接流程 快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用 使用前复制一下账号下的用户ID和API key,并且快递鸟对各个API提供了各种语言的demo,其实下载下来,找一下平时寄快递的运单号,本地运行一下就能用了。(名称: KdApiSearchDemo) 二、对接准备 1. 登录快递鸟注册快账号 2.获取开发者账号信息(ID ,API Key),登录 快递鸟后台 中查看并实名认证,并开通产品服务 3.进行技术联调,并完成调试,物流查询api地址: http://www.kdniao.com/api-track 4.在您的软件中集成快递物流查询接口 三、技术对接 快递鸟提供的快递查询接口,支持418家快递物流查询,涵盖了国内外主流快递服务企业的单号查询,信息及时,数据完整。 登录快递鸟官网支持多种开发语言对接

使用top分析tomcat容器占用的内存排行

末鹿安然 提交于 2019-11-29 23:53:33
命令: top -b -n1 | awk 'NR<=7{print;next}{n=$6;if(n~/m/)n*=1024;if(n~/g/)n*=1024*1024;a[sprintf("%12d",n)]=$0"\n"a[n]}END{c=asorti(a,b);for(n=c;n>0;n--)printf("%s", a[b[n]])}'|grep -A 10 'COMMAND' |grep 'java'|awk '{print $1 " " $6}'|while read line; do pid=$(echo $line|awk '{print $1}'); mem=$(echo $line|awk '{print $2}'); name=$(cd /var/lib/docker/containers ;grep -R Pid ./*|grep Pid|grep ${pid}|grep -o "\"/[a-zA-Z]*-0"|sed 's#"/##'); echo -e "${pid}\t${mem}\t${name}"; done CRT button: top -b -n1 | awk 'NR<=7{print;next}{n=$6;if(n~/m/)n*=1024;if(n~/g/)n*=1024*1024;a[sprintf("%12d",n)]=$0"\\n"a

十分钟成为 Contributor 系列 | 支持 AST 还原为 SQL

自作多情 提交于 2019-11-29 16:20:32
作者:赵一霖 背景知识 SQL 语句发送到 TiDB 后首先会经过 parser,从文本 parse 成为 AST(抽象语法树),AST 节点与 SQL 文本结构是一一对应的,我们通过遍历整个 AST 树就可以拼接出一个与 AST 语义相同的 SQL 文本。 对 parser 不熟悉的小伙伴们可以看 TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现 。 为了控制 SQL 文本的输出格式,并且为方便未来新功能的加入(例如在 SQL 文本中用 “*” 替代密码),我们引入了 RestoreFlags 并封装了 RestoreCtx 结构( 相关源码 ): // `RestoreFlags` 中的互斥组: // [RestoreStringSingleQuotes, RestoreStringDoubleQuotes] // [RestoreKeyWordUppercase, RestoreKeyWordLowercase] // [RestoreNameUppercase, RestoreNameLowercase] // [RestoreNameDoubleQuotes, RestoreNameBackQuotes] // 靠前的 flag 拥有更高的优先级。 const ( RestoreStringSingleQuotes RestoreFlags = 1

Golang读取并修改非主流配置文件

ぃ、小莉子 提交于 2019-11-29 10:16:51
今天工作中碰到的问题,要求修改此配置文件,没看出来是什么格式,用了下面的思路: mysql { # If any of the files below are set, TLS encryption is enabled tls { ca_file = "/etc/ssl/certs/my_ca.crt" ca_path = "/etc/ssl/certs/" certificate_file = "/etc/ssl/certs/private/client.crt" private_key_file = "/etc/ssl/certs/private/client.key" cipher = "DHE-RSA-AES256-SHA:AES128-SHA" tls_required = yes tls_check_cert = no tls_check_cert_cn = no } # If yes, (or auto and libmysqlclient reports warnings are # available), will retrieve and log additional warnings from # the server if an error has occured. Defaults to 'auto' warnings = auto }

php保留两位小数

血红的双手。 提交于 2019-11-29 00:17:58
1.不进位的情况 比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。 可以使用 floor 函数 该函数是舍去取整。例如,floor(4.66456) 结果:4 。 floor(9.1254) 结果9 。 因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即: $a=floor(3.149569*100)/100 计算百分比 $successRate = floor((2/3)*10000)/10000*100; $result = $successRate.'%'; 2.四舍五入的情况 round 函数 float round ( float val [, int precision]) 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。 precision 也可以是负数或零(默认值)。 <?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.04 echo round

php爬虫抓取百度贴吧图片

时光毁灭记忆、已成空白 提交于 2019-11-28 16:34:07
最近有从百度贴吧上批量下载图片的需求,即从某一个贴吧下载所有图片。 本来打算用python写的,因为对python不熟悉,试了minidom,HtmlParser等,感觉上不了手,还是使用比较擅长的php语言吧。 以下是源代码: 1 <?php 2 //运行时间 3 @set_time_limit(60); 4 //贴吧名称 5 $tbname = "%CD%BC%C6%AC"; 6 //抓取类型 0-按照帖子顺序 1-按照贴图顺序 7 $type = 0; 8 //列表页url 9 $listurltpl = "http://tieba.baidu.com/f?kw=%s".($type?"&tp=1":"&pn="); 10 //图册页url 11 $galleryurltpl = "http://tieba.baidu.com/photo/bw/picture/guide?kw=%s&tid=%s&next=9999"; 12 //图片url 13 $imageurltpl = "http://imgsrc.baidu.com/forum/pic/item/%s.jpg"; 14 //本地的目录 15 $savepath = "h:/images/"; 16 //帖子子文件夹 17 $filedirtpl = $savepath."%s/"; 18 //图片文件 19

poj3983(牛人啊)

亡梦爱人 提交于 2019-11-28 02:11:19
View Code // POJ 3983 第二届顶嵌杯决赛A题 计算4个数等于24 // 搜索 数据较小,不用剪枝就过了 // 利用类似层叠那样,每运算一次,就合并两个数,所以少一个数,每次计算的值都保存在curVal中 // 注意浮点数1/3 *3 会等于1 // 格式化输出时用到sprintf,挺不错的 #include < stdio.h > #include < string .h > #include < math.h > #define bool int int option[ 5 ]; int order[ 5 ]; float number[ 5 ]; float curVal[ 4 ][ 5 ]; // 输出时用到的临时变量 char outputStr[ 15 ]; char outputStr2[ 15 ]; char tempStr[ 15 ]; char tempStr2[ 15 ]; bool bfs( int k) { int m; if (k == 3 ) { if (fabs( 24.0 - curVal[ 3 ][ 0 ]) == 0 ) return 1 ; else return 0 ; } else { int i,j; for (i = 0 ;i < 3 - k;i ++ ) { for (j = 0 ;j < 4 ;j ++ ) {

Go 变量及基本数据类型3

大兔子大兔子 提交于 2019-11-27 09:58:20
#### Go 变量及基本数据类型(三)今天学习一下剩下的两个基本数据类型(布尔类型,字符串类型)以及基本数据类型的相互转换##### 布尔类型布尔类型也称为bool 类型, bool 类型只允许取值true 和 false; 布尔类型占1个字节; bool 类型适用于***逻辑运算***, 一般用于流程控制: if 条件控制语句; for 循环控制语句; package main import ( "fmt" "unsafe" ) func main(){ var a bool fmt.Println(unsafe.Siaeof(a)) //1 占用内存大小 fmt.Println(a) // false 默认值为 false }    ##### 字符串类型字符串就是一串固定长度的字符连接在一起的字符序列,Go 中的字符串是由单个字节连接起来的. Go 语言的字符串的字节使用UTF-8 编码标识的unicode 文本; ***string*** 占用内存大小为16字节;案例: package main import "fmt" "unsafe" ) func main(){ var str string fmt.Println(unsafe.Siaeof(str)) // 16 fmt.Println(str) // 为空字符串 }    字符串使用注意事项与细节1. Go

Tinyhttp源码分析

半世苍凉 提交于 2019-11-27 04:11:00
简介 Tinyhttp是一个轻量型Http Server,使用C语言开发,全部代码只500多行,还包括一个简单Client。 Tinyhttp程序的逻辑为:一个无线循环,一个请求,创建一个线程,之后线程函数处理每个请求,然后解析HTTP请求,做一些判断,之后判断文件是否可执行,不可执行,打开文件,输出给客户端(浏览器),可执行就创建管道,父子进程进行通信。父子进程通信,用到了dup2和execl函数。 模型图 源码剖析 1 #include <stdio.h> 2 #include <sys/socket.h> 3 #include <sys/types.h> 4 #include <netinet/in.h> 5 #include <arpa/inet.h> 6 #include <unistd.h> 7 #include <ctype.h> 8 #include <strings.h> 9 #include <string.h> 10 #include <sys/stat.h> 11 #include <pthread.h> 12 #include <sys/wait.h> 13 #include <stdlib.h> 14 15 #define ISspace(x) isspace((int)(x)) 16 17 #define SERVER_STRING "Server: