代码改变世界

阅读排行榜

几个linux命令查看堆栈内存问题

2013-06-01 23:20 by chonghui1001, 11217 阅读, 收藏,
摘要: 公司编写代码,发现整个在程序里面调用system时候总是失败,原因是can't allocate memory ,根本原因不是内存不足,而是堆栈内存不够。使用ulimit -s 2048后有所好转但是发现一旦系统进程开启多了后仍然会挂。后来使用objdump -x 后发现了原因有个动态库定义了一个10M的全局变量,简直是要太可恶了,四个进程会链接这个库,对于只有128M内存的嵌入式产品,这个太狠了,一下子40M就没有了。 ps : python print int("ff", 16) echo $((16#ff)) size nm readelf -a test o 阅读全文

socket connect time out

2014-05-23 21:31 by chonghui1001, 1980 阅读, 收藏,
摘要: 背景:通过socket升级板卡的镜像,主控板和业务板各有一个网口链接在交换芯片上,vxWorks软件环境 1.业务板主动连接主控板的时候调用connect 返回失败错误发0x3c,开始以为是主控板太忙没有处理,于是把主控等待时间加长,同时查看主控的cpu 利用率发现主控的cpu 利用率很低,但... 阅读全文

给定一个集合和一个数找出比这个数大的最小的数

2011-09-25 19:14 by chonghui1001, 959 阅读, 收藏,
摘要: description: 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。思路: 1.将数组A排序. 2.生成一个十个数的数组B,B[i]中的每一个的元素都是A中比i大的最小的元素,如果不在A中则用A中所组合而成的最小的两位数代替,比如上例则生成B[]={1, 3, 3, 8, 8, 8, 8, 8, 10, 10} 3.从给定的数最高位开始找到第一不在A中的位数i的权值m, 从第i位开始到最高位找到第一个权值m,B[m] != max(A中组合而成的最小的两位数), 剩下的位都... 阅读全文

用C语言实现memmove函数

2011-09-25 19:35 by chonghui1001, 776 阅读, 收藏,
摘要: Description: 用C 语言实现函数void * memmove(void *dest,const void *src,size_t n)。memmove函数的功能是拷贝src 所指的内存内容前n 个字节到dest 所指的地址上 说明: 这个实现并不难但是有两点要注意,如何应对不同的类型,第二点就是如果内存有重叠的区域怎么处理。这让我想起了另外一道题目,给定一个数组现在数组的每一个元素等于前一个元素除以当前元素的值,这个变化的问题没有什么专有的名词来形容,但是都是同一类的问题,本质上就是值已经改变了,不能在次使用,只有细心才能解决,一般的遍历的顺序的问题,先修改再使用,还是先使用在.. 阅读全文

fedora 设置系统时间

2012-04-13 16:41 by chonghui1001, 664 阅读, 收藏,
摘要: Linux下我们一般使用“date -s”命令来修改系统时间。如将系统时间设定成1999年12月9日的命令如下。#date-s12/09/99将系统时间设定成下午2点18分9秒的命令如下。#date-s14:18:09注意,这里说的是系统时间,是linux由操作系统维护的。在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这 阅读全文
1 2 3 4 5 ··· 10 下一页