
C/C++语言
文章平均质量分 75
iteye_3165
这个作者很懒,什么都没留下…
展开
-
FastDB程序崩溃后的锁清理
本文原创作品,如需转载请注明来源,作者:姜涛, towerjt@gmail.com FastDB在为了保证数据同步,使用了sem作为锁机制,同时还使用了shm作为记录读写操作计数器,所以如果程序异常中止,没有正常的close、commit数据的话,同时访问该库的程序将会被挂死。在自带的文档中,作者提出如果出现这种情况,把所有使用这个库的程序退出后,重新启动就好了。这个基本能解决问题...2008-03-18 15:02:00 · 109 阅读 · 0 评论 -
Linux下查看FIFO剩余字节的方法
FIFO做为一种有名管道的形式,在unix下编程经常会用到,在AIX和Solaris上用ls -l能像查看普通文件一样,很方便的看到当前FIFO里面还剩余多少字节未被读取,但是linux下却不行。通过调用ioctl可以实现这个功能:#include <stdlib.h>#include <stdio.h>#include <string.h>#i...2009-05-05 09:48:37 · 1393 阅读 · 0 评论 -
一个多对多的消息存储转发工具
本文原创作品,如需转载请注明来源,作者:姜涛, towerjt@gmail.com 先看下面的图: 因为项目的需要,我需要一个能够支持多对多的消息传递的工具,而且有支持C/C++的API,而且最好是客户端接受消息能够支持两种方式,一种是广播的,即发送的消息,所有的接受者都能收到;二是轮训的,即发送的消息,接收端按照接收端的个数平均分配接受。第一种方式在...2009-04-23 13:41:08 · 793 阅读 · 0 评论 -
xmlrpc++真的粉OO
一个改写自py-xmlrpc的c++项目,支持xmlrpc的客户端和服务端。代码简洁,但是相当的优美。 项目地址: http://xmlrpcpp.sourceforge.net/2009-03-30 22:26:58 · 131 阅读 · 0 评论 -
perl与C和C++集成的问题
一直在关注脚本语言与C、C++语言集成的问题。我希望我们的业务系统能有相当多的业务逻辑是用这些语言来完成,而主体框架是静态语言来做。之前研究过tcl,依赖一个boost库,可以与C++语言集成,但是感觉效果不是很好,这段时间研究了一下perl,影响很深刻,而且和C语言集成的时候,性能还是可以接受的。但是实际过程中用起来效果不是很好,比较棘手的问题主要有下面几个:1、如果perl脚本是一个字符串的话...2008-07-16 16:18:00 · 160 阅读 · 0 评论 -
在SunOS8上调试通过的获取指定进程信息的程序
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#include <fcntl.h>#include <utmpx.h>#include2006-04-02 16:50:00 · 98 阅读 · 0 评论 -
chinaunix上的flw写的超级trim
#include <stdlib.h>void trim( char *str ){ char *copied, *tail = NULL; if ( str == NULL ) return; for( copied = str; *str; str++ ) { ...2006-04-02 10:10:00 · 95 阅读 · 0 评论 -
以为informix没有产生sequence的功能,所以自己造了一个车轮
#include <unistd.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#include <errno.h>int lock_reg(int fd){ struct flock lock; lock.l_type = F_WRLCK; lock.l...2006-04-02 10:07:00 · 173 阅读 · 0 评论 -
收藏的一个linux下proxy实现的源码
/****************************************************************************program: proxydmodule: proxyd.csummary: provides proxy tcp service for a host on an isolated network.programmer: Carl Harr...2006-04-02 10:04:00 · 146 阅读 · 0 评论 -
一个C实现的记日志的函数库
在实际应用中,日志是一个比较重要的部分。在unix下用得比较多的是syslog之类的机制。但是我感觉不是很方便,于是编写了下面这个日志函数库。支持分级,同时支持不重启应用而开关日志。/* logc.c by towerjt */#include <logc.h>static char log_config_path[64];static char current_date[11]...2006-04-02 10:02:00 · 103 阅读 · 0 评论 -
occi在linux编译运行时报libstdc++.so.6冲突的问题
OCCI库在linux编译的时候,由于linux版本太高,会提示: warning: libstdc++.so.5, needed by /oracle/product/10.2.0/db_1/lib/libocci.so, may conflict with libstdc++.so.6运行的时候也会有很多的问题。 实际上,在大多数linux系统上,还保留有libstdc++5的库,自...2009-03-02 16:39:30 · 313 阅读 · 0 评论 -
被libpq逼疯,闪
postgreSQL的C语言接口库libpq实在是相当的难用,结结实实的把我逼疯。 结果是我在疯的边缘放弃了它,改用ecpg。 你想疯吗?2009-02-16 16:32:26 · 125 阅读 · 0 评论 -
多线程的pthread_cond_wait后,记住再次检测条件
一般来说,在多线程竞争一个资源的时候,会用到pthread_cond_wait,pthread_cond_signal机制,典型的做法就是在一个使用这个资源的线程(消费者)里面,判断资源如果不可用的话,则pthread_cond_wait,在另外一个线程(生产者)中判断如果资源可用的话,则发一个pthread_cond_signal或者pthread_cond_broadcast通知wait的线程...2008-05-28 11:15:00 · 143 阅读 · 0 评论 -
CMarkupSTL中的复位
CMarkupSTL是一个C++写的xml操作的轻量级的类,相比libxml而言,使用起来要简单方便得多,但是在使用的过程中需要注意的是,在查找节点的时候,CMarkupSTL是顺序查找,而且每次查找并不会从头来过。 举个例子:<root><a>aaa</a><b>bbb</b><c>ccc</c>&2009-02-13 17:22:27 · 290 阅读 · 0 评论 -
incognito的查询接口
今天运气很好,昨天搞了一天的一个查询接口,一直没有成功。下午的时候给incognito发邮件请求帮助,人家告诉我要实现这个功能要用别的函数才行,于是今天忙乎了半天总算成功了。实际上证明,知识面宽一点是很有用处的,我这次在没有文档的情况下,通过参考他们提供的java代码,编了一个C++的程序,还是很自得的。呵呵。...2008-04-25 16:19:06 · 112 阅读 · 0 评论 -
用Lex和Yacc做一个简单的SQL解释器
前段时间做了一个简单的内存数据库,需要提供点简单的SQL支持,在参考了《Lex与Yacc》和网上的相关资料后,以《Lex与Yacc》中的SQL解释器为基础,做了修改,最后生成了一个简单的SQL解释器。这个SQL解释器由于本身内存数据库提供的功能限制,提供的SQL也有很多的限制:1、select不支持按字段取值,一次查询获取所有字段2、查询条件之间的关系只支持AND3、UPDATE一次只更新...2008-04-06 18:13:00 · 292 阅读 · 0 评论 -
yacc的使用
本来不打算全部拷贝过来的,但是这篇文章在网上已经删除了,我是从google的快照中找到的,第8部分的出错处理中error的使用是第一次从这里看到,郁闷了半天的问题文章来源(http://www.duangw.net/computer/reference/scripts/yacc.html) Yacc使用索引: 概念 Yacc文件格式 定义部分 规则部分...2008-04-03 09:50:00 · 148 阅读 · 0 评论 -
FastDB不同访问模式带来的影响
本文原创作品,如需转载请注明来源,作者:姜涛, towerjt@gmail.comFastDB中不同的访问DataBase的模式在程序中能体现不一样的结果。 从试验可以知道,不同访问模式主要体现在对表的锁上。 (具体的试验,大家如果觉得有必要,可以自己做一下,用 subsql -access [read-only concurrent-read concurrent-upd...2008-03-18 15:05:00 · 120 阅读 · 0 评论 -
Linux2.6下如何配置core文件
下面的资料是从互联网上整理的来的,参考文献如下:http://blog.youkuaiyun.com/hanchaoman/archive/2009/08/03/4405655.aspxhttp://www.mysys-admin.org/category/general/ 1. 可以用ulimit -a 查看一下栈的大小。在内核2.6.20下, stack size 为8192 k...原创 2009-08-20 17:28:57 · 119 阅读 · 0 评论