当前位置: 首页 > news >正文

色轮 网站做网站加推广

色轮 网站,做网站加推广,建设银行支行网站,注册网站查询问题: 1. printf自带的库编译出来的大小比较大(flash吃紧) 2. printf是一个不定长参数, 意味着函数无法知道传入的长度. 解决这个问题有2中方法:1.设置足够大小的数组作为参数存储; 2. 使用动态内存分配的方式来做(应该使用的是这个方式).(内存吃紧) 问题解释: 1. 之前写裸…问题: 1. printf自带的库编译出来的大小比较大(flash吃紧) 2. printf是一个不定长参数, 意味着函数无法知道传入的长度. 解决这个问题有2中方法:1.设置足够大小的数组作为参数存储; 2. 使用动态内存分配的方式来做(应该使用的是这个方式).(内存吃紧) 问题解释: 1. 之前写裸机的时候从来没思考过printf问题, 因为写裸机的时候一般printf只是打印调试的时候日志, 打印完成后会关闭打印功能.因此在裸机中, 并且会关闭打印的时候这个还是可以使用的. 2. 大家应该也发现了,没人在51单片计算串口重定向,然后调用系统的printf吧, 就是库函数消耗内存和flash 在实时系统中, 系统自带的printf那就问题更多了: 1. 函数重入的问题, 也许有人会说我使用实时系统的互斥, 临界区保护等,当然没问题. 2. 其次我们知道实时系统中, 所有函数的开销是设定堆栈大小的, 如果是系统库用一个足够大的数组作为数据存储, 意味着堆栈会爆掉, 程序跑飞(系统中应该不会用这么傻的方法). 那如果是使用动态内存分配的方法, 那么这也将是一个不定时炸弹.为啥说是不定时炸弹呢? 因为printf必定调用的是系统malloc, 意味着可能会出现内存碎片.到时候可能申请不到内存, 打印功能就可能失效了. 问题解决: 由于我们公司的产品是工业产品, 用到了很多打印, 如果调用系统printf, 程序崩溃真的很难查.因此解决方法就是自己实现printf(我们的printf源码是从linux内核抄过来的).     而实际上, printf是通过snprintf封装来的, 我们定义了一个静态数组来存储printf要打印的内容,,用snprintf打印里面的内容,  这样多线程中的每个线程的堆栈就只提供给任务使用.避免堆栈溢出照成的程序崩溃.(当然也可以用系统提供的snprintf替代自己实现的snprintf, 可能编译代码多点, 但不会出现不可靠的问题) 公司的项目代码的打印只对输出到串口进行了保护, 将数据复制到静态数组并没保护, 但是打印出来并没有出现数据乱码. 代码使用的ucos2, 可以在中断打印, 但是打印内部是关中断了, 至少我知道freertos中任务关中断和中断关中断是不一样的, 没学过ucos2, 可能是它自己特性, 本身可以做到. 细细推敲下来, 发现一个小小的printf都有各种问题, 何况自己写的bug呢, 虽然公司的代码让我看的不爽, 但确实稳定,.
http://www.pierceye.com/news/27266/

相关文章:

  • 安卓应用开发环境seo关键词优化要多少钱
  • 一站式营销推广企业网站建设项目
  • 长沙做网站好的公司南山做网站行业
  • x网站免费四川展陈公司排名前十
  • 网站建设运行情况企业公共信息服务平台
  • 光明建网站的公司seo网站排名优化方案
  • 集团网站下分网站 模板漳州市住房和城乡建设局网站
  • 数据线东莞网站建设技术支持网站建设推广是什么
  • 车载互联系统网站建设国外著名的网站设计公司
  • 三水做网站青浦网站制作
  • 鲜花网站建设规模设想网站建设模型软件
  • 网站seo在线诊断分析网站建设包括内容
  • 医疗网站建设模板制作哪个兄弟给个地址呀
  • 深圳福田最大网站公司12345浏览器
  • 北京两学一做网站学服装设计培训哪里好
  • 做教育门户网站法律风险做买鞋网站的论文
  • php带数据库的网站新品发布会一般在哪里举行
  • 网站制作 常见问题西安高端网站制作公司
  • 网站建设 方案下载做销售怎么和客户聊天
  • 陕西省建设厅网站官网海淘手表网站
  • 电脑网站建设策划书用手机域名做网站有多少
  • 收到一张网站服务费怎么做凭证榆林市横山县建设局官方网站
  • 网站开发用什么图片格式最好网站建设人员招聘要求
  • 动易门户网站价格公司网站建设有什么好处
  • 网站开发一般用什么软件智能制造工程
  • 如何在自己的网站上做友情链接装修效果图免费软件
  • 酒店网站建设考虑的因素大连建设工程信息网防水
  • 甘肃省水利建设工程项目网站公司网站建设做分录
  • 做网站用win2008系统一级消防工程师考试试题
  • 东莞网站营销策划砀山做网站的公司