自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 查看使用某个端口的程序

10月7日早上,Mu很早就把我从床上拽下来,“我的接口机程序起不来了!!”我试了试,程序无法启动,日志显示socket::bind报错,无法绑定指定端口。我于是用netstat试了试:[ismap530@mdms ismap530]$ netstat -na | grep 18893tcp 0 0 10.2.0.191:18893 10.2.0.191:18893 ESTABLISHED“哦,有程序占用了端口,还是一个客户端程序。”“怎么查看占用某端口的进程?”我马上

2010-10-07 11:31:00 746

原创 线程处理完成,如何立即释放线程?

某时之前,我认为在unix下面所谓释放线程,就是在线程处理函数完成退出。因此线程程序就如下了:#include #include void * func(void * arg){    pthread_exit(0);    return 0;}int main(int argc, char ** argv){    pthread_t pt_id;    if(0 != pthread_crea

2008-10-28 10:50:00 6394

原创 单线程程序转为多线程

说起来,单线程程序转为多线程,需要注意的事情很多,比如,对全局变量的同步处理,函数的去静态变量...这次遇到的就是具有静态属性的函数问题。项目最开始的时候我们认为所有的并行工作都用多进程来实现了,为了所作的数据访问层足够的快,我们选择了不明智的不支持多线程的编程方式,完成了大量的数据库访问函数。“访问句柄是全局的,函数中随地可以见到静态变量。”...没想到报应来的如此快,某一个功能模块,需要由单线

2008-09-07 11:00:00 3282

原创 查看程序依赖的sl:ldd

电信测试继续进行,几个兄弟在电信测试环境想用用我在开发环境做测试用的模拟器, 好吧,我帮你们ftp过来。再电信环境执行,嗯,提示有一个库libstdc++.sl.6找不到,没问题,从开发环境又ftp一个库过来,执行,还是提示找不到,又查看环境变量,LD_LIBRARY_PATH配置正确,又查看libstdc++.sl.6属性,有执行权限,小郁闷了半天。突然想起通过ldd可以查看开发环境这个程序的依

2008-04-17 12:45:00 755

原创 unix shell 循环

电信测试又开始了,有很多测试用例,会发多次同样的请求包。如若用测试工具一条一条的发太麻烦,就用shell写一个临时的工具:x=1while [ $x -le $2 ]        do        g4 $1        let x=x+1done用着挺爽。

2008-04-17 12:30:00 719

原创 rails的链接oracle数据库的几个问题。

最近学学rails,随便为我们的实时系统做一个测试用的模拟器。以前没有接触过rails,在网上看了两天ruby的资料,买了一本《Agile Web Development with Rails》,翻了翻开始做 起来。下载ruby,下载rails,一切顺利。1.配置数据库,我们以前的系统用的是oracle9,于是我在http://rubyforge.org/projects/ruby-oci8下

2007-09-22 22:58:00 673

原创 要命的-lpthread

 事件1:移植Red Hat Linux平台某电信服务器服务端接口程度到HPUX时间:2007年某日某早该程序的服务线程池由ACE_TASK的实现,在收到客户请求时会唤醒相应的线程处理业务。当我在HPUX启动程序的时候,发现ACE_TASK的activate函数调用失败。辗转反侧,不知所谓。自己做了一个测试程序,简单到只有ACE_TASK的一个类,实例对象,生成线程,错。 事件

2007-05-31 15:20:00 3628

原创 双缓冲技术的简单使用

所谓需要的时候才想到去寻找。我的程序里面需要用了一个动换场面,但是GDI简单的动画实现,不可避免的让我的显示器闪动不已,我知道,要么放弃GDI而用DirectX,要么就用双缓冲技术,于是,我去google了,找到了很多篇文章,其实只有一篇,呵呵在此记录下来:在OnDraw或者OnPaint函数中加入如下代码:       CClientDC dc(this);    CRect rect;   

2005-09-22 23:34:00 1553 4

原创 给对话框加上背景皮肤

对话框的skin前段时间有些学生问我,怎么给我们做的对话框加上漂亮的skin,特别是就像qq游戏的登录以及游戏界面一样(qq游戏的登录界面就是一个对话框)。经过一些曲折,我在www.codeproject.com中找到了一些给对话框及控件加skin的方式,在下面我通过一个例子给出了其中一种最简单的方法,通过这种方式作出的对话框会根据skin图片的大小调整。在我的例子中,我用了首先做了一个简单的基于

2005-09-21 09:29:00 2566 1

原创 Boost源码简析系列——Array(2)

Boost源码简析系列——Array(2)1.         赋值函数等                         //...         static size_type size() { return N; }        static bool empty() { return false; }        static size_type max_size()

2004-03-23 10:10:00 1343

原创 Boost源码简析系列——Array(1)

Boost源码简析系列——Array(1)Array是Nicolai M.Josuttis为boost扩展库编写的一个类,她为静态数组增加了容器的一些特性,比如增加了迭代器,类似vector的元素访问访问方式等等。下面对boost的简介部分翻译自boost说明文档。C++标准模板(STL)作为C++标准库的一部分,她提供了种类繁多的容器类,然而,对于普通的数组类,STL就没有提供其

2004-03-23 10:01:00 1394

原创 Boost源码简析系列——timer(2)

Boost源码简析系列——timer(2)对于timer的第二个头文件中包含的两个类,我早就想写出来,但是最近忙着写代码,今天终于有时间写了,并且前段时间解决了一个问题,用的就是timer,所以也给了我动力。剩下的两个类,grogress_timer和grogress_display都定义在头文件progress.hpp中,由Beman Dawes编写,最新版是2001年11月1日

2004-03-20 14:37:00 1235

原创 Boost源码简析系列——timer

Boost源码简析系列——timer(1)“Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。”摘自《C++ Boost 简介》。“一直流传这么一个

2004-03-01 10:04:00 1792

原创 基于wxWindows的“hello world”

基于wxWindows的“hello world”很多人需要一个简单的例程,用来对wxWindows快速的入门,了解其程序的组织形式和法则。同其他的很多库(比如STL、Boost)一样,我们要使用wxWindows的组件就得在代码中包含wxWindows相关的头文件。一般来说,只要我们的编译器支持预编译的功能就可以包含wxprec.h(#inlcude “wx/wxprec.h”),如

2004-02-22 23:12:00 1288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除