自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 自定义对话框

1、新增对话框:    进入“User Interface”下的“Dialog”,右击“All Dialogs”,选择“New Dialog...”,在向导的第二步“Dialog Template”中选择需要的类型,此例中因为需要Dialog需要处理一些功能,所以选择了“NewScriptBaseDialog”。    将新增的对话框改名,如“sdCheckDialog”,并进入其编辑状态

2010-04-05 21:12:00 1362

转载 如何成为杰出工程师-九个工作策略

-How to be a Star Engineer Robert E. Kelley, Carnegie Mellon University-Robert E. Kelley, "How to be a star engineer," IEEE Spectrum, pp. 51-58, Oct. 1999.-翻译:马仕毅如果你是一个希望能够提高生产力,增加自己智能资产的工程师。你该如何做才能让别

2010-04-05 20:59:00 619

原创 线程超时等待方法---linux中select()函数使用

select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:int socket(int domain, int type, int protocol);我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出

2010-01-19 22:10:00 2928

转载 不可不知的 Linux 十项重大发展

Linux®技术、开发模型和社区都对 IT 业产生了重要的影响,我们能做的就是站到一边看看这些,很高兴与 developerWorks 一起度过了第一个 10 年。Linux 团队已经将这些对 Linux 产生重大影响的内容整理到一起。过去 10 年里,Linux 发生了太多的事情,很难完整地列出该操作系统的重要事件和技术改进。尽管如此,为了庆祝我们的十岁生日,Linux 团队回顾往事,并向您

2010-01-19 21:52:00 470

转载 Linux内核常用数据结构和操作

1. 前言  本文介绍linux内核中一些常用的数据结构和操作。 2. 双向链表(list) linux内核中的双向链表通过结构 struct list_head来将各个节点连接起来,此结构会作为链表元素结构中的一个参数:struct list_head { struct list_head *next, *prev;}; 链表头的初始化,注意,结构中的指针为N

2010-01-19 21:48:00 492

转载 深入理解Linux内核中的链表

  最近,开始研读一下Linux的内核代码,刚一开始,就有令人惊叹的发现,不得不感叹内核代码设计得之美!单是最常用的链表也设计得不得不令人佩服!1.1.链表list_head    include/linux/list.h    很经典,链表在内核中很常用,例如管理进程,进程的各个状态队列都是使用这个双向链表实现的。内核中的链表定义成和数据无关的形式,而不是通常我们使用的链表格式,例如typede

2010-01-19 21:44:00 366

转载 正则表达式基础知识

目录本文目标 如何使用本教程 正则表达式到底是什么东西? 入门 测试正则表达式 元字符 字符转义 重复 字符类 分枝条件 反义 分组 后向引用 零宽断言 负向零宽断言 注释 贪婪与懒惰 处理选项 平衡组/递归匹配 还有些什么东西没提到 联系作者 最后,来点广告…… 网上的资源及本文参考文献 更新纪录

2010-01-19 21:37:00 454

转载 STL基础知识

STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够通用性,S

2010-01-17 12:10:00 1255 1

转载 Sql(事物+游标)使用方法

--当两个或两以上的操作要么都执行,要么都不执行时要用事务。1. Sql写法(事物+游标)--开始事务BEGIN TRAN--不显示计数信息SET NOCOUNT ONDECLARE @ProjNo varchar(50),@CusNo varchar(50)--声明游标DECLARE CRMPSContact_cursor CURSOR FOR SELECT ProjNoFROM CRMPSCo

2010-01-17 11:33:00 762

转载 SQLite使用

OS X自从10.4后把SQLite这套相当出名的数据库软件,放进了作业系统工具集里。OS X包装的是第三版的SQLite,又称SQLite3。这套软件有几个特色: 软件属于公共财(public domain),SQLite可说是某种「美德软件」(virtueware),作者本人放弃着作权,而给使用SQLite的人以下的「祝福」(blessing): May you do good

2010-01-17 11:29:00 385

转载 c++智能指针的创建

zero 坐在餐桌前,机械的重复“夹菜 -> 咀嚼 -> 吞咽”的动作序列,脸上用无形的大字写着:我心不在焉。在他的对面坐着 Solmyr ,慢条斯理的吃着他那份午餐,维持着他一贯很有修养的形象 ——— 或者按照 zero 这些熟悉他本质的人的说法:假象。“怎么了 zero ?胃口不好么?”,基本填饱肚子之后,Solmyr 觉得似乎应该关心一下他的学徒了。“呃,没什么,只是 …… Solm

2010-01-17 11:12:00 368

转载 socket 基础知识

socket是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式。struct sockaddr.。这个结构 为许多类型的套接字储存套接字地址信息: struct sockaddr {    unsigned short sa_family; /* 地址家族, AF_xxx */    char sa_data[14]; /*14字节协议地址*/    }

2010-01-17 11:08:00 367

转载 轻松获得网通、电信、铁通IP地址分配段

轻松获得网通、电信、铁通IP地址分配段 收藏 有时搞一些跨网段的工程和应用,需要尽量准确的知道电信、网通、铁通等电信运营商的IP地址段分配情况,可网上的资料不但很少,而且经常都是N个月前的过期资料……    APNIC是管理亚太地区IP地址分配的机构,它有着丰富准确的IP地址分配库,同时这些信息也是对外公开的!下面就让我们看看如何在Linux下获得一些电信运营商的IP地址分配情

2010-01-17 11:07:00 374

转载 利用linux处理网络流量数据

网络压力测试,需要处理原始数据,将原始的Byte/s 处理为Mbps,并通过直观曲线图表展示出来。 1.统计网卡流量sar -n DEV 1 100 > net 得到网卡流量,原始数据如下:10:32:41        IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s10

2010-01-17 11:03:00 713

原创 如何用ace_message_block发送和接收struct结构的数据

主要是拼数据,一次读一个STRUCT内容,读几次,然后拼在一块,在然后进行后面的处理,看看ACE的例子void AIO_Input_Handler::handle_read_stream (const ACE_Asynch_Read_Stream::Result &result) { if (!result.success () || result.bytes_transfer

2010-01-14 22:23:00 1760

转载 ACE_Message_Block小知识

 每个ACE_Message_Block都有两个底层指针:rd_prt,wr_ptr,用于在消息块中读写数据。可以通过rd_ptr()和wr_ptr()方法来直接访问。    rd_ptr指向下一次读取数据的位置,wr_ptr指向下一次写入数据的位置。这两个指针不会自动更新,程序员必须自己来增加他们的值!!!    拷贝函数  int copy(const char *buf,size_t n);

2010-01-14 22:17:00 1615

转载 ACE_InputCDR和ACE_OutputCDR

我今天测试发现ACE_InputCDR和ACE_OutputCDR并不是那么简单。如果稍微不注意就会出现一些奇怪的字节错位的情况。 在这里我总结一下使用的规则:         ACE_OutputCDR out(mb);         out           例一:         如果out 了一个short再out一个long          

2010-01-14 22:16:00 637

转载 关于ACE_InputCDR和ACE_OutputCDR读写数据时的经验

我今天测试发现ACE_InputCDR和ACE_OutputCDR并不是那么简单。如果稍微不注意就会出现一些奇怪的字节错位的情况。在这里我总结一下使用的规则:         ACE_OutputCDR out(mb);         out           例一:         如果out 了一个short再out一个long          

2010-01-14 22:03:00 399

转载 C语言字节对齐详解

一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址

2010-01-14 21:47:00 331

转载 使用 ACE 库框架在 UNIX 中开发高性能并发应用

使用 ACE 库框架在 UNIX 中开发高性能并发应用ACE 开放源码工具包可以帮助开发人员创建健壮的可移植多线程应用程序。本文讨论创建使用 ACE 线程的应用程序的一些方法。Adaptive Communication Environment (ACE) 是一个高性能、开放源码、面向对象的框架和 C++ 类库,它有助于简化网络应用程序的开发。ACE 工具包包括一个操作系统层和一个封装

2010-01-14 21:39:00 482

转载 任务和主动对象(Active Object):并发编程模式

这一章介绍前面提到过的ACE_Task类,另外还介绍了主动对象模式。基本上这一章将涵盖两个主题。首先,它将讲述怎样将ACE_Task构造作为高级面向对象机制使用,用以编写多线程程序。其次,它将讨论怎样在主动对象模式[II]中使用ACE_Task。    那么到底什么是主动对象呢?传统上,所有的对象都是被动的代码段,对象中的代码是在对它发出方法调用的线程中执行的。也就是,调用

2010-01-03 13:10:00 1133

转载 C++实现的带最大最小线程数的线程池(基于ACE)

最近需要一个能根据请求数变化的线程池,JAVA有这样的东西,可是C++下好像一般只是固定大小的线程池。所以就基于ACE写了个,只做了初步测试。主要思想是:1. 重载ACE_Task,这相当于是个固定线程池,用一个信号量(ACE_Thread_Semaphore)来记数空闲线程数。2. 初始化时根据用户的输入,确定最少线程数minnum和最大线程数maxnum,当多个请求到来,并且无空闲

2010-01-03 13:06:00 1495

转载 八个必备的DOS命令和一些常用的dos命令行

一,ping      它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看

2010-01-02 20:43:00 363

转载 Sql语句使用-50个示例

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号;   select a.S# from (select s#,score from SC where C#=001) a,(sel

2010-01-02 20:31:00 323

转载 数据结构笔试题目总汇

第一篇 笔试题目 Intel今年笔试题 ●第一道是一个编译器优化的题目。条件大致说在ZF为0或者不为0的情况下,分别有两条移位指令可以移进去。然后出了两个小题,要你优化。 ●第二道是N个人围成一圈报数,报到某一个数的就出局,问你最后剩下来的那个人的号码。编程题。 ●第三道大致如下: 以下两个程序哪个的performance高,并解释为什么。 a) extern int foo(void); int

2010-01-02 20:27:00 518

转载 linux多线程编程----相关概念

学习Linux多进程编程一、进程的定义:程序执行和资源管理的最小单位。二、进程控制:(1)进程标识: 进程标识  子进程号  父进程号  头文件  #include  #include  函数功能  取得当前进程的进程号  取得当前进程的父进程号  函数原型  Pid_t getpid(void) Pid_t getppid(void)   函数返回值  成功返回进程的进程标识符  

2010-01-02 18:20:00 720

转载 linux学习笔记

linux目录架构/   根目录/bin    常用的命令 binary file 的目錄/boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内     /boot/grub/menu.lst   GRUB设置     /boot/vmlinuz   内核     /boot/initrd     核心解壓縮所需 RAM Disk/dev    系统周边设备     /

2010-01-02 18:01:00 246

转载 SQL操作全集

下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE data

2010-01-02 17:58:00 204

转载 SQL Server数据库开发的二十一条军规

如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS)。 在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验----关于如何形成一个好的设计。这些经验来自我过去几年中经受的教训,一直来,我看到许多同样的设计

2010-01-02 17:56:00 207

转载 职场成长必读:有关工作的各个方面的知识集锦(转载)

http://www.5xue.com/modules/bbs/viewthread.php?tid=168871  在互助论坛上看到的精华帖,感觉不错,特收藏之

2010-01-02 17:29:00 243

原创 实现pstree命令的程序

#include#include#includetypedef struct pro_info{ int pid; int ppid; char name[100]; int flag;//标志是否打印 int rec;//计算总父进程个数}info;//返回所有数字目录int filter(const struct d

2010-01-02 17:14:00 1417

转载 c++基本语法(上中下)

0.   编译C++程序时,编译器自动定义了一个预处理名字__cplusplus,而编译标准C时,自动定义名字__STDC__。另外几个比较有用的预定义名字是__LINE__(文件的当前编译行数),__FILE__(当前被编译的文件名字),__DATE__(编译日期)和__TIME__(编译时间)。1.   C库头文件的C++名字总是以字母C开头,后面去掉后缀.h的C名字,如在C++库中的名字

2010-01-02 16:49:00 603

原创 memset、memcpy与strcpy使用心得

1。void *memset(void*s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子#include#includemain(){char *s="Golden Global View";clrscr();memset(s,G,6);printf("%s",s);getchar();return 0;} 3。memset() 函数常

2010-01-02 16:44:00 304

转载 vector使用技巧

几乎每个人都会使用std::vector,这是个好现象。不过遗憾的是,许多人都误解了它的语义,结果无意间以奇怪和危险的方式使用它。本条款中阐述的哪些问题会出现在你目前的程序中呢? JG问题1. 下面的代码中,注释A跟注释B所示的两行代码有何区别?void f(vector& v) { v[0];       // A v.at(0);    // B}Guru问

2010-01-02 16:29:00 663

原创 list元素为结构体,而按其中一元素排序问题

#include "stdafx.h"#include #includeusing namespace std;typedef struct subscribeitem{ char *cig_code; char *cig_name; int cig_quantity; //以此作为排序public: bool operator > (

2010-01-02 16:23:00 938

转载 程序员的七种武器

第一种武器:开发工具至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工

2010-01-02 16:17:00 597

原创 转:基于ACE应用编程框架——线程池

一、基本的实现模型:    线程池的实现模型主要有两种:    1、半同步/半异步模型    在这种模型中,一个侦听线程负责接受请求,并在某个队列中缓冲它们。另外一组工作者线程负责处理请求。因此接受请求的线程并不是处理请求的线程。    2、领导者/跟随者模型    在这种模型中,有一个线程是领导者,其余线程是线程中的跟随者。当请求到达时,领导者首先获取请求,并在跟随者中选取一个作为新的领导者,然

2009-12-27 13:38:00 860

原创 ACE中使用线程池的简单方法

static ACE_THR_FUNC_RETURN event_loop (void *arg){ ACE_Reactor *reactor = static_cast (arg); reactor->owner (ACE_OS::thr_self ()); reactor->run_reactor_event_loop (); return 0;}i

2009-12-27 13:16:00 1283

原创 ACE_Message_Block小知识

*ACE_Message_Block小知识*http://spaces.msn.com/stonejiang/blog/cns!A4A8B7175059E42A!273.entry   ** **   1 copy() 不需要让写指针后移.   ACE_Message_Block* mb = new ACE_Message_Block(BUFSIZ);   mb->copy(buff); //bu

2009-12-27 13:12:00 504

原创 ACE中的Thread Mutex在linux下的使用

ACE库中专门对线程同步提供了两个类,一个是ACE_Thread_Mutex另一个是ACE_REcursive_Thread_Mutex。 在我看 来,在linux下进行线程同步,不要使用ACE_Thread_Mutex,用ACE_REcursive_Thread_Mutex就可以了。原因很 简单,因为ACE_Thread_Mutex不支持线程重入。一旦重入(同一个线程调用两次ACE_Thread

2009-12-27 12:52:00 1093

空空如也

空空如也

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

TA关注的人

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