现在位置: 首页

一种C++踩内存的定位方法

2019-11-01 22:40 工业·编程  ⁄ 共 5617字 暂无评论
   在嵌入式应用开发过程中,踩内存的问题常常让人束手无策。使用gdb调试工具,可以大幅加快问题的定位。不过,对于某些踩内存的问题,它的表现是间接的,应用崩溃的位置也是不固定的,这就给问题定位带来了更大的困难。     笔者见过带有虚函数C++的类对象在试图调用虚函数时,因指向虚函数的表指针被踩了,导致获取虚函数的地址是错识的,从而应用崩溃。此问题的表现就是间接的:在踩内存发生时,应...
阅读全文

【每日一字】景:高上仰止,景行行止

2019-11-01 16:32 生活·感悟  ⁄ 共 1111字 暂无评论
有什么风景是定格在你记忆中的美好?小时候收集的糖纸映照在地上的七彩光、自习课上偷瞄窗外看到飘荡的风筝、拖着疲惫身躯回家时厨房里氤起来的热气… “景”,最早出现在小篆中,是个形声字,由“日”和“京”两部分构成“京”既是声旁也是形旁,《说文》解释为“人所为绝高丘也”,即人造的高地或很高的建筑。由于国都多建在高地上,建筑宏伟高大,所以“京”引中为“国都”、“首都”,这个含义也一直延续到今天。 日光照在高大亭台上投下的影...
阅读全文

SIGSEGV段错误问题定位方法

2019-10-31 22:37 工业·编程  ⁄ 共 374字 暂无评论
现象:   程序死的时候出现屏幕打印如下:   Program received signal SIGSEGV, Segmentation fault. 定位:   1、bt,打印当前调用栈。如果不是踩了栈的内存,那么这一个命令可以看出死在哪里。   2、如果bt打印消息如下:0x00000000 in ?? ()      那么基本可以确定是栈被踩了。      栈被踩一般而言是局部变量溢出导致。   3、可以看看黑匣子。黑匣子里...
阅读全文

中共中央关于坚持和完善中国特色社会主义制度 推进国家治理体系和治理能力现代化若干重大问题的决定

2019-10-31 21:16 战略·谋略  ⁄ 共 18400字 暂无评论
为贯彻落实党的十九大精神,十九届中央委员会第四次全体会议着重研究了坚持和完善中国特色社会主义制度、推进国家治理体系和治理能力现代化的若干重大问题,作出如下决定。 一、坚持和完善中国特色社会主义制度、推进国家治理体系和治理能力现代化的重大意义和总体要求 中国特色社会主义制度是党和人民在长期实践探索中形成的科学制度体系,我国国家治理一切工作和活动都依照中国特色社会主义制度展开,我国国家治理体系和治理...
阅读全文

记一次踩内存事件

2019-10-30 22:31 工业·编程  ⁄ 共 1005字 暂无评论
背景:做各个模块集成,其中包含了文件管理、录像业务相关的库。在文件管理初始化时,应用层会指定数据根目录。 现象:测试发现在执行特定操作时,目录失效,无法创建文件,日志大概这样  (NULL) /Movie/xxxx.MP4,好像是指定的根目录变空了。 检查一番, 没有进行去初始化, 跟文件管理库负责同事远程沟通了下,他在库里维护了一个指针,指向 应用 层设置的 目录字符串(这个方法当然不好,应该复制进去,后已修改), ...
阅读全文

C语言系统内存被踩情况总结

2019-10-29 22:26 工业·编程  ⁄ 共 322字 暂无评论
语言由于可以直接操作内存,给我们的编程带来了便利,同时也带来了内存写越界之类的问题,常常造成我们的系统crash。下面总结了我在工作中碰到的导致内存越界的各种场景,以供分析此类问题时作个参考。 1、直接写越界,包括1)栈空间变量写越界覆盖掉函数返回地址,导致函数返回时crash。2)全局变量写越界,导致覆盖掉符号表中排在这个全局变量后面的全局变量的值。 2、未初始化指针变量的值写操作。 3、指针释放了未置空,后...
阅读全文

白云先生:区块链、DCEP将终结美元霸权

2019-10-29 14:16 战略·谋略  ⁄ 共 6595字 评论 10 条
一、绕过美国的金融马奇诺防线,是这次区块链的核心看点 美国针对中国的金融大战,和最近几年针对中国的贸易战,其本质就是拿美元作为武器,来展开对中国的金融战争。学宫之前写过一篇文章,《贸易战加速了美国的衰亡》,在这篇文章中,我们就预言了,美国拿美元作为武器攻击中国,最后一定会是倒逼中国加速去美元化的进程,以至于让美国失去美元霸权,最后失去一切。 当时我们还举了个例子,国际贸易就好比球赛。中国和美国的...
阅读全文

踩内存(内存重叠)的处理

2019-10-28 22:15 工业·编程  ⁄ 共 1418字 暂无评论
memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下: void *memcpy(void *dst, const void *src, size_t count);  void *memmove(void *dst, const void *src, size_t count);  他们的作用是一样的,唯一的区别是,当内存发生局部重叠的时候,memmove保证拷贝的结果是正确的,memcpy不保证拷贝的结果的正确。 一、memcpy函数   ...
阅读全文

DPDK原理概述

2019-10-27 21:13 工业·编程  ⁄ 共 4245字 暂无评论
1、DPDK特点 DPDK全称为Data plane development kit,是一个用来进行包数据处理加速的软件库。与传统的数据包处理相比,DPDK具有以下特点: 1)轮询:在包处理时避免中断上下文切换的开销, 2)用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化 3)亲和性与独占:特定任务可以被指定只在某个核上工作,避免线程在不同核间频繁切换,保证更多的cache命中 4)降低访存开销:利用内存大页HUGEPAGE降低TLB miss,利用内存...
阅读全文

白云先生:电影《哪吒》中的文化隐喻

2019-10-27 13:13 战略·谋略  ⁄ 共 6106字 评论 9 条
一、大毒草《封神演义》 《哪吒》这部电影上映之后,表现非常火爆。很多人看完之后,都非常的兴奋,认为国漫要崛起了,中国本土电影要崛起了。甚至还有人认为,这表明中国传统文化要复兴了,因为这个电影的题材,取自中国古代的小说。用我们现在的话来说,这个IP是在复兴中国传统文化。 事情真的是这样吗?如果关于这部电影的理解,只停留在这个层面上。那只能很遗憾的说,这部电影就是欺负这样读书少的人。不过对于看动漫长大...
阅读全文