自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(31)
  • 收藏
  • 关注

原创 Solaris Crossbow实践指南(二):虚拟网络和etherstub

在这篇文章中,我们将创建一个虚拟网络。在这个网络中,网络的核心组件网卡接口、链路层交换机和路由器都采用Solaris的虚拟化技术实现,在现实应用中,我们可用把这些网络组件当作实际的网络组件使用,并在这个网络中部署客户的网络服务,这些组件可以替代实际的网络组件,不同的是,系统管理员无需拔插网线,仅通过CLI(命令行接口)就可以管理这些组件。

2011-01-04 23:47:00 2382 1

原创 Solaris Crossbow实践指南(一):VNIC和网卡复用

这篇文章将要介绍VNIC在Solaris 11 Express上的应用和配置。而VNIC则是Crossbow项目引入的最重要的一个特性。顾名思义,VNIC就是Virtual Network Interface Card。在Solaris内核看来,每一个VNIC就是一个虚拟的链路层(datalink)对象,用户可以像使用物理网卡一样在上面建立IP实例,如在其上配置网络地址、将其分配给不同的虚拟机或Zone。利用VNIC,用户可以在只有一个物理网卡的情况下创建多个链路接口同外网连接。即使使用一台没有网卡的机器,

2010-12-20 20:39:00 1647

原创 OpenSolaris IPMP入门实践

今年(2009年)1月,OpenSolaris的Clearview项目的一个网络特性--IPMP在Solaris Nevada build 107中发布了。Solaris以前就支持IPMP,然而这次发布的IPMP使大家可以在Solaris上有更便捷和更清晰的网络配置体验。现在,大家可以在OpenSolaris 0906这个版本上使用这种新的配置方法。这篇文章会对Solaris IPMP中的基本概念

2009-06-12 21:50:00 1912

原创 数字图像中手写阿拉伯数字的识别技术概览

数字图像中手写阿拉伯数字的识别技术概览撰文 周翔    摘要:图像中手写阿拉伯数字的识别和其他模式的识别所采用的方法是多种多样的。本文论述了图像中手写阿拉伯数字的识别过程,并对手写数字识别的三种方法(基于规则的方法、基于统计的方法和基于神经网络的方法)进行了简要介绍和分析,并通过实例重点对基于规则的方法进行了描述。最后是对这些方法的简要评价。1. 手写数字图像识别简介手写阿拉伯数字

2006-07-04 19:06:00 4520

原创 关于当前若干主流网络仿真软件的综述及实例应用分析

关于当前若干主流网络仿真软件的综述及实例应用分析撰文:周翔摘要:网络仿真是进行网络技术研究的一种基本手段。在新技术的研究过程中,由于各种原因,实际网络系统的实现往往是代价较高或是不现实的。在这种情况下,仿真就成了最佳可供选择的测试、评估和验证手段之一。本文对当前若干主流网络仿真软件进行了简要介绍和评价,并对两款主流的网络仿真软件Opnet和NS2进行了用例对比分析,最后对各种网络仿真软件进

2006-06-22 23:58:00 4004 2

原创 井字棋程序的设计与算法

井字棋程序的设计与算法作者姓名: 周翔电子邮箱: [email protected]摘要:本文就作者编写的井字棋程序进行了简要的介绍,并重点介绍了该程序采用的算法、程序设计方案、对算法的改进等内容。关键字:井字棋,评估函数,极大极小值算法,α-β剪枝算法1. 程序说明本程序旨在完成一个具有人机博弈功能的井字棋程序,具有良好的用户界面、支持人机对弈和双人对弈两种模式,并具有悔棋、选择难易级别等功能。该程

2005-11-10 13:47:00 6876 8

原创 趣味数学和C++

趣味数学和C++撰文/Zeeshan Amjad                                                     翻译/周翔原文链接:http://www.codeproject.com/cpp/CPPMathFun.asp引子有些人认为自己已经厌倦了数学,因为人们需要灵活的大脑才能领会一些数学问题。但对于每个人来说,并不是数学的每个领域都是那么麻烦和令人厌

2005-08-02 22:51:00 3032 5

原创 [C++][源代码]后缀表达式转化为前缀表达式

撰文/周翔本人开源代码页:http://blog.csdn.net/hifrog/category/131301.aspx功能:用户输入一个字符串,判断这个字符串是否是后缀表达式,并把它转化为前缀表达式,并显示。原理:利用S属性文法的制导翻译生成语法树节点,其中该语法树为二叉树。非叶节点保存运算符,叶节点保存数字或变量。制导翻译公式请参考《编译原理》(高等教育出版社,陈意云著,2003年版)一书。

2005-07-31 23:11:00 3001 1

原创 C/C++中的日期和时间

C/C++中的日期和时间撰文/周翔摘要:本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单

2005-07-31 20:03:00 5640 1

原创 [C#]RawSocket的C#源代码

163大家可以建立一个Windows Form应用程序,在下面的各个文件中添加对应的源代码://RawSocket.csnamespace ReceiveAll{ using System; using System.Net; using System.Net.Sockets; using System.Runtime.InteropServices; using System.Windows.F

2005-06-24 11:13:00 4966 6

原创 关于在使用Visual C++中使用MMX、SSE指令集的问题

Q:seafrog:您好,我看到你译著的两篇关于MMX、SSE编程的文章,很受启发。然而,它们都是在Visual Studio.NET下使用。我想在Visual C++里面使用,可在我的机器里找不到emmintrin.h和xmmintrin.h两个头文件。我已在机器上安装了Visual C++,是不是需要从INTEL的网站下载什么包解压后才有这两个文件呢?如果是需要下载什么包?在VC中究竟怎样配置

2005-05-01 09:18:00 2017

原创 关于C#的RawSocket编程的问题

Q:你好!看过了你在csdn上发表的《用C#下的Raw Socket编程实现网络封包监视》,觉得很感兴趣,而且对我的帮助很大。不过在调试的过程中遇到一些问题,特此向你请教一下。谢谢!首先socket.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.HeaderIncluded, 1);     byte []IN = new byte[4

2005-05-01 09:17:00 2026

原创 MetaDiff——一个模式比较框架

MetaDiff-一个模式比较框架(翻译草稿,待审校) 译者注:这是来自瑞典斯得哥尔摩大学计算机和系统科学系的一篇硕士论文,由Mark Kofman撰文,导师为Erik Perjons。本文的中文译者为山东大学计算机科学与技术学院的本科生周翔。中文译文中省略了原文中的目录部分。 摘要 在软件开发中,开发模式重要性的日益提高产生了许多新的关注和挑战。本论文主要讨论了在模式驱动开发的环境中模式比较的问

2005-04-06 12:57:00 1792

原创 成员函数指针与高性能的C++委托(下篇)

成员函数指针与高性能的C++委托(下篇) Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston 翻译:周翔 (接中篇) 委托(delegate) 和成员函数指针不同,你不难发现委托的用处。最重要的,使用委托可以很容易地实现一个Subject/Observer设计模式的改进版[GoF,

2004-07-03 23:55:00 8702 8

原创 成员函数指针与高性能的C++委托(中篇)

成员函数指针与高性能的C++委托(中篇) Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston 翻译:周翔 (接上篇) 成员函数指针——为什么那么复杂? 类的成员函数和标准的C函数有一些不同。与被显式声明的参数相似,类的成员函数有一个隐藏的参数this,它指向一个类的实例。根据不同的编译

2004-07-03 23:23:00 7508 6

原创 成员函数指针与高性能的C++委托(上篇)

成员函数指针与高性能的C++委托(上篇) Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston 翻译:周翔 引子 标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经

2004-07-03 14:49:00 16475 31

原创 哲学家就餐问题的C#实现

撰文:周翔 这是我在上操作系统课的那个学期写的一段程序,并组织成了一篇文章。当初被我的挚友曾毅发表在CSTC的论坛上:http://cstc.net.cn/bbs/viewtopic.php?t=457,在此,我把它贴在这儿,希望对大家有所裨益。   学操作系统的进程同步都要涉及到三个经典问题:生产者-消费者问题、读者-写者问题和哲学家就餐问题。下面来介绍一下哲学家就餐问题: 哲学家就餐问题中,一

2004-06-30 23:45:00 3312 9

原创 STL实践指南(下)

STL实践指南  Practical Guide to STL作者:Jeff Bogan 翻译:周翔 (接中篇) 游标(Iterator) 我说过游标是指针,但不仅仅是指针。游标和指针很像,功能很像指针,但是实际上,游标是通过重载一元的”*”和”->”来从容器中间接地返回一个值。将这些值存储在容器中并不是一个好主意,因为每当一个新值添加到容器中或者有一个值从容器中删除,这些值就会失效。在某种程度上

2004-06-30 12:33:00 7640 8

原创 STL实践指南(中)

STL实践指南  Practical Guide to STL作者:Jeff Bogan 翻译:周翔 (接上篇) 另一种容器——集合(set) 这是微软帮助文档中对集合(set)的解释:“描述了一个控制变长元素序列的对象(注:set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量)的模板类,每一个元素包含了一个排序键(sort key)和一个值(v

2004-06-30 12:18:00 8532 5

原创 STL实践指南(上)

STL实践指南 Practical Guide to STL作者:Jeff Bogan     翻译:周翔 译者注这是一篇指导您如何在Microsoft Visual Studio下学习STL并进行实践的文章。这篇文章从STL的基础知识讲起,循序渐进,逐步深入,涉及到了STL编写代码的方法、STL代码的编译和调试、命名空间(namespace)、STL中的ANSI / ISO字符串、各种不同类型的

2004-06-30 11:35:00 3481 32

原创 基于SSE指令集的程序设计简介

基于SSE指令集的程序设计简介作者:Alex Farber出处:http://www.codeproject.com/cpp/sseintro.aspSSE技术简介Intel公司的单指令多数据流式扩展(SSE,Streaming SIMD Extensions)技术能够有效增强CPU浮点运算的能力。Visual Studio .NET 2003提供了对SSE指令集的编程支持,从而允许用

2004-02-01 23:03:00 3584 1

原创 基于MMX指令集的程序设计简介

基于MMX指令集的程序设计简介作者:Alex Farber出处:http://www.codeproject.com/cpp/mmxintro.aspMMX技术简介 Intel 公司的MMX™(多媒体增强指令集)技术可以大大提高应用程序对二维三维图形和图象的处理能力。Intel MMX技术可用于对大量数据和复杂数组进行的复杂处理,使用MMX技术可处理的数据基本单位可以是字节(byte)、字

2004-02-01 22:57:00 4882

原创 算术表达式的自上而下语法分析及其实现(上)

学过编译原理的同学大概都知道对一个句子进行自上而下语法分析的方法。我参考了陈火旺院士的《高级程序设计语言编译原理》,在这篇文章里我主要是站在编译原理的角度讲述一种语法分析程序的实现的方法,通过对一个典型的例子——算术表达式的分析,从而使大家了解构造一个实用的语法分析程序的方法,同时,也为广大程序员提供一种解决实际问题的思路。本文包括以下内容:1. 算术表达式的产生式;2. 自上而下语法分析的算

2004-01-30 19:22:00 6480 10

原创 算术表达式的自上而下语法分析及其实现(中)

(接上篇)3. 产生式函数的改进前两节我们已经实现了自上而下语法分析算法和产生式函数的构造,在这一节,我着重阐述对产生式函数的运行效率和占用空间进行优化的方法。首先考察一下产生式E -> T+E | T-E | T的分析函数:void E_AddSub(){ T_MulDiv();                         //调用非终结符T的产生式函数分析T If(ch==’+

2004-01-30 19:22:00 3424 6

原创 算术表达式的自上而下语法分析及其实现(下)

(接中篇) 5. 自上而下语法分析程序的实现 经过上面4步精心的准备,最令人激动的时刻到了。一般《编译原理》课本上的代码大都是无法在机器上运行的伪代码,在这里,你将要看到的是一个实用的可以检查错误的可以执行求值的基于自上而下语法分析算法的计算算术表达式的程序。 不失一般性,我们规定算术表达式只可以进行整数的四则运算(含括号),这样我们需要扩充下面3个函数: int E_AddSub();     

2004-01-30 19:22:00 4948 12

原创 计算机随机数的产生

计算机中随机数的产生大家可能很多次讨论过随机数在计算机中怎样产生的问题,在这篇文章中,我会对这个问题进行更深入的探讨,阐述我对这个问题的理解。首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。伪随机数并不是假随机数,这里的“

2003-12-15 01:32:00 5618 6

原创 用C#下的Raw Socket编程实现网络封包监视

用C#下的Raw Socket编程实现网络封包监视谈起socket编程,大家也许会想起QQ和IE,没错。还有许多网络工具如P2P、NetMeeting等在应用层实现的应用程序,也是用socket来实现的。Socket是一个网络编程接口,实现于网络应用层,Windows Socket包括了一套系统组件,充分利用了Microsoft Windows 消息驱动的特点。Socket规范1.1版是在19

2003-12-15 01:32:00 4258 5

原创 在C++中实现变长数组

在C++中实现变长数组1.变长一维数组这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做://文件名: array01.cpp#includeusing namespace std;int main(){ int len; cin>>len; //用指针p指向new动态分配的长度为len*sizeo

2003-12-15 01:27:00 4714 6

原创 STL中的栈的扩展

C++标准模版库中的栈模版类提供了一些方法可以对栈进行简单的操作,其中提供的方法如下:bool empty( ) const;查看栈是否为空,如果为空返回true,否则返回false。void pop( );弹出位于栈顶的对象,栈中的对象个数减一。不返回任何值。void push(const Type& _Val);将Type类型的值_Val压进栈,栈中的对象个数加一。不返回任何值。

2003-11-29 23:08:00 1548

原创 .NET框架中的驱动程序应用技术

.NET框架中的驱动程序应用技术——用.NET和NDIS Hook Driver开发单机版网络防火墙的关键技术分析N-Byte网络守望者是一款由我们团队开发的单机版网络安全工具,简言之,就是一个用.NET开发的个人版防火墙。在N-Byte网络守望者1.0版的开发中,我们使用了NDIS Hook Driver技术来实现网络封包过滤功能,这使我们的N-Byte网络守望者能够在网络层过滤网络封包

2003-10-12 23:58:00 1458 2

原创 C#中的函数指针

函数指针也叫指向函数的指针,它是为了提高函数的通用性而引入的。比较传统的方法是在函数中增加参数,通过增加的参数来判断到底要用什么函数,这样的缺点是灵活性差,为了支持多种方法要在函数中要写很多分支判断语句。比如,你要计算一个函数值(如sin x,log10 x)的平方,按照传统的方法你可以这样写这个函数:public double Fuction(double Param,int Functio

2003-10-12 23:57:00 2032 1

空空如也

空空如也

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

TA关注的人

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