随笔分类 -  Linux/Unix

内存管理内幕
摘要:动态分配的选择、折衷和实现Jonathan Bartlett (johnnyb@eskimo.com), 技术总监, New Media Worx本文将对 Linux™ 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。好文章收藏! 原文地址:http://www.ibm.com/developerworks/cn/linux/l-memory/为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多 阅读全文

posted @ 2012-06-25 22:16 c语言源码 阅读(254) 评论(0) 推荐(0)

Bash Shell(字符串)操作小结
摘要:基本下面引用的文章,加了几项, 做个记录,懒得记了,也省得每次Google。http://my.oschina.net/aiguozhe/blog/415571. 取长度1str="abcd"2expr length $str # 43echo ${#str} # 44expr "$str" :".*" # 4好像一般使用第二种2. 查找子串的位置1str="abc"2expr index $str "a"# 13expr index $str "b"# 24expr ind 阅读全文

posted @ 2012-06-19 12:41 c语言源码 阅读(297) 评论(0) 推荐(0)

GDB使用介绍
摘要:转载请注明出处:http://blog.csdn.net/horkychenGDB使用介绍在Linux下最强大的Debug工具就是GDB了,许多IDE都集成了GDB进行调试。使用源代码级调试能够更直接的进行调试,效率明显高于输出Log信息。但目前无论是Mac下的XCode,还是Linux下的其它集成工具,对于调试库函数都是相当困难的,如果直接使用GDB这些问题就迎刃而解。我们首先来探讨一下GDB的基础知识。GDB调试流程GDB调试依赖于编译器输出的调试信息,所以进行调试前必须确定GCC输出了调试信息。1.生成符号文件使用GCC编译时需要生成相应的调试信息,编译时可以使用-g选项:<< 阅读全文

posted @ 2012-06-19 11:43 c语言源码 阅读(322) 评论(0) 推荐(0)

[总结]Unix设计哲学 <<Unix编程艺术>>
摘要:转载请注明出处:http://blog.csdn.net/horkychen学习了<<Unix编程艺术>>第一章关于哲学的部分, 做个汇总.现在已经对精简设计, 舍弃华而不实是被普遍认可的.但早在Unix发展的时期, 这一条原则却是在实践中不断提炼出来的. 这就是最为根本的一条: KISS - Keep it Simple, Stupid! 这句话其实常见, 尤其是花过功夫学习英文的朋友. 而这个原则可以应用在生活的各个方面. 这一原则是历经多少项目的检验结果, 而我们正是站在一位巨人的肩膀上直接看到现在的理所当然的基本规则.如何翻译呢? 我觉得字面上是"简洁 阅读全文

posted @ 2012-05-29 08:32 c语言源码 阅读(326) 评论(0) 推荐(0)

检查程序对动态库的依赖
摘要:转载请注明出处:http://blog.csdn.net/horkychen测试程序时会出现找不到指定的库或库函数的错误,表示某个依赖库不存在或版本不正确。如果使用的是动态加载的动态库所依赖的包不存在,如果程序没有做好异常处理的话,会让你很难定位到问题。比如GDI+库。假设一个程序A,调用了动态库B,而B链接了GDI+,这时运行在Windows 2000上时,系统里没有GDI+的库,会导致A不断Crash掉。因为GDI+库不是一般C的动态库,一般没有库加载的动作,使得排查问题会有很多的障碍。这时,我们如果利用依赖关系的查看工具就可以容易判断出来。在Linux中可以使用ldd指令很容易地获得依赖 阅读全文

posted @ 2011-11-02 00:16 c语言源码 阅读(813) 评论(0) 推荐(0)

导航