
学习历程
文章平均质量分 74
wtz1985
这个作者很懒,什么都没留下…
展开
-
实现双向链表
进入公司的第一个培训项目,就是用C语言实现双向链表.这是一个比较基础的,又是很常用的一个结构.在GTK+中,它会给你提供一个现成的. 以前在大学的时候,链表的理论知识经过数据结构的修炼之后,可谓是比较熟悉的,可是没有自己实现过,当老大给我布置这么一个任务的时候,我还是比较茫然的.因为自己太是菜鸟了.今天,我把这个链表写一下,回味和复习. 首先,你要明确链表要实现什么原创 2008-09-21 01:08:00 · 1191 阅读 · 0 评论 -
命令行参数解析实例
在上篇文章中,已经介绍了关于命令行参数解析,对于getopt和getopt_long的使用是相当熟悉了,今天将是通过一个glib的一个接口:g_spawn_command_line_sync()通过管道产生一个同步运行的子进程,然后通过getopt_long去解析,执行相应的程序。1、写一个getopt_long 的main.c#include #include #include #include原创 2008-11-13 18:43:00 · 1495 阅读 · 0 评论 -
命令行参数解析(2)
6、改变getopt()对错误命令行参数信息的输出行为不正确的调用程序在所难免,这种错误要么是命令行选项无效,要么是缺少选项参数。正常情况下,getopt()会为这两种情况输出自己的出错信息,并且返回?。为了验证此事,可以修改一下上面的清单2中的代码。清单3:#include #include int main (int argc, char **argv){原创 2008-11-09 00:21:00 · 1237 阅读 · 0 评论 -
命令行参数解析(1)
今天在看代码的时候,遇到getopt_long函数,然后查了相关资料,它就是命令行的参数解析.今天就做一些笔记.Linux下很多程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理 机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其原创 2008-11-06 23:25:00 · 2831 阅读 · 0 评论 -
C语言--容器的实现。
*引用本文请注明来自 blog.youkuaiyun.com/wtz1985 容器(container)这个词眼,相信大家都不陌生了,特别是JAVA或C#的人,应该是比较熟悉了,它只是一个中间接口,也就是一个纯虚类。它的实现可以通过链表或者数组等结构,它的出现就是为了其他函数体可以自由地选择适合自己的实现结构。比如哈希表、堆栈等结构,既可以用链表实现,也可以用动态数组实现,如果没有一个中间原创 2008-10-10 23:08:00 · 8136 阅读 · 0 评论 -
多线程中递归锁的实现.
*引用本文请注明来自 blog.youkuaiyun.com/wtz1985 在上一篇文章中,我已经阐述了多线程中简单锁的实现,可在结束的时候,我就提了那么一个问题,那就是如果在一个链表中进行插入时,要进行查询的操作,如果只是简单的锁,是没法实现的。所以“递归锁”就浮现于世了。可能有些人看到递归这两个字,有点傻了眼,其实也没什么的,简单的介绍,就是进行简单的计数而已。刚开始引用锁的时候,原创 2008-10-04 22:43:00 · 7593 阅读 · 3 评论 -
多线程中锁的实现.
*引用本文请注明来自 blog.youkuaiyun.com/wtz1985 所谓"锁",就是为了让自己独自占有空间,在自己没用完之前,不让别人来占用自己的资源.现在的操作系统,无论是WINDOWS,还是UNIX等其他操作系统.都采用多线程的环境.这极大提高了任务的执行速度,而且不会影响其他事务的执行.但是它们的执行是靠时间片的轮转的,如果某一个线程没有执行完,可它的时间片用完了,就会被挂起原创 2008-10-04 13:51:00 · 3340 阅读 · 0 评论 -
C语言--迭代器的实现。
*引用本文请注明来自 blog.youkuaiyun.com/wtz1985 在上一篇文章中,已经介绍了为什么要实现容器和怎样实现容器,这章将要介绍的是----怎样在容器里把算法分离出来,在容器里,只是实现了基本接口定义,可是对于具体的操作,比如移动到一下结点、比较两个结点的值等,容器并没有实现。从容器中把这些算法分离出来就是所谓的迭代器(iterator)。下面将是一些代码的接口实现:原创 2008-10-14 23:03:00 · 7480 阅读 · 2 评论 -
动态数组
在数据结构当中,除了链表和树的结构之外,一个重要的角色就是动态数组。它与链表不一样的地方就是内存的分配方式。创建一个链表的时候,在内存方面,是不连续分配的,而动态数组就不一样,它就要求连续分配。而两者的大概功能可以说大同小异吧。它的出现可以就是为了节省内存的使用,进行实时的修改内存的使用,避免冗余。但是如果过于频繁的使用,我个人觉得并不是一件什么好的事。 接触过JAVA的原创 2008-09-22 22:48:00 · 777 阅读 · 0 评论 -
taglist安装与应用
之前一直用tags去跳转查找函数,今天也安装了taglist,这个函数的最大好处,除了通过跳转去查找函数,还可以把本文件中的函数罗列出来,但是它也有局限性,它的函数查找不能像tags做的那么出色,所以用tags+taglist对开发人员来说,是一个很不错的选择。1、下载taglist:http://vim.sourceforge.net/scripts/script.php?script_id原创 2009-01-18 17:51:00 · 3905 阅读 · 0 评论