博文

目前显示的是 十一月, 2004的博文

在cygwin安装ace

解压cyper@snnn /cygdrive/f/temp $ gunzip ACESRC.tar.gzcyper@snnn /cygdrive/f/temp $ tar xf ACESRC.tar查看下有些什么cyper@snnn /cygdrive/f/temp $ cd ACE_wrapperscyper@snnn /cygdrive/f/temp/ACE_wrappers $ ls
ACE-INSTALL.html Makefile ace-config.1.in m4
ACE-install.sh Makefile.am ace-config.in man
ACEXML PROBLEM-REPORT-FORM aceConf.sh.in netsvcs
ASNMP README apps os-patches
AUTHORS THANKS bin performance-tests
COPYING TODO docs tests
ChangeLog VERSION etc websvcs
ChangeLogs acconfig.h examples
FAQ ace include下面我做下各个目录里是什么ace: 含有ACE工具包的源码bin:很多有用的实用程序,以后再说, 你现在可以不管他apps:含有很多基于ACE的实用程序,非常推荐你好好看看.不同于examples,这里面都是非常经典而短小精悍的实用程序,比如JAWS 就是一个小型的HTTP服务器,你可以拿它来代替iis,不过要它支持asp就得自己写插件了.Gateway,顾名思义,路由,不要在问我代理服务器该怎么做了,这有路由!而且这些代码的可重用度非常高.简直就是一个小型的库doc:文档,太少了,有和没有没区别,而且你还可以用doxygen自动生成一个examples:不用说了吧include/makeinclude 含有ACE的所有的构建系统文件test:测试,你可以用来测试下你的ACE装好了没有下面开始做配置有人可以问我为什么不讲windows或linux,而要讲cygwin呢, 很简单,那些平台太通用了,配置文件基本你就不用管,傻瓜型安装设置环境变量ACE_ROOTcyper@snnn /cygdrive/f/temp/ACE_wrappers $ export ACE_ROOT=pwd在ACE_ROOT…

Emacs 是什么的简称?[转载]

E. M. A. C. S.
Emacs Makes A Computer Slow
Escape Meta Alt Control Shift
Emacs Makers Are Crazy Sickos
Emacs Makes All Computing Simple
Emacs Makefiles Annihilate C-Shells
Emacs Manuals Always Cause Senility
Emacs May Allow Customized Screwups
Emacs Manuals Are Cryptic and Surreal
Eventually Munches All Computer Storage
Eight Megabytes And Constantly Swapping
Elsewhere Maybe All Commands are Simple
Excellent Manuals Are Clearly Suppressed
Emacs May Alienate Clients and Supporters
Except by Middle Aged Computer Scientists
Extended Macros Are Considered Superfluous
Every Mode Accelerates Creation of Software
Each Manual''s Audience is Completely Stupefied
Exceptionally Mediocre Algorithm for Computer Scientists
Easily Maintained with the Assistance of Chemical Solutions
Eradication of Memory Accomplished with Complete Simplicity

关于!=与^

a^b,当且仅当a=b的时候返回值为0.因此,在很多情况下,我们可以用^来代替!=
但是,二者的效率如何呢?
为次,我做了以下测试
测试平台:window XP sp1
编译器:VC++.net 2002
程序原代码如下:#include <iostream>int _tmain(int argc, _TCHAR* argv[]) { inta(0),b(0); std::cin>>a>>b; if(a != b) b=1; if(a ^ b) b=2; std::cout<<b<<std::endl; return0; } 在未开启优化,项目属性使用debug时,编译后所得的机器代码为
int _tmain(int argc, _TCHAR* argv[])
{
00433350 55 push ebp
00433351 8B EC mov ebp,esp
00433353 81 EC D8 00 00 00 sub esp,0D8h
00433359 53 push ebx
0043335A 56 push esi
0043335B 57 push edi
0043335C 8D BD 28 FF FF FF lea edi,[ebp-0D8h]
00433362 B9 36 00 00 00 mov ecx,36h
00433367 B8 CC CC CC CC mov eax,0CCCCCCCCh
0043336C F3 AB rep stos dword ptr [edi]
int a(0),b(0);
0043336E C7 45 F8 00 00 00 00 mov dword ptr [a],0
00433375 C7 45 EC 00 00 00 00 mov dword ptr [b],0
std::cin>>a>>b;
0043337C 8D 45 EC lea eax,[b]
0043337F 50 push eax
00433380 8D 4D F8 lea ecx,[a]
00433383 51 push ecx
00433384 B9 BC 06 4A 00 mov ecx,offset std::cin (4A06BCh)
00433389 …

doxygen使用手记

doxygen,一个从代码自动生成文档的小工具,很多类库的官方文档都是用它生成的
之前以为它和CVS一样神秘,很难用
今天试了试,真的是再简单易用不过了
doxygen 的window 版可以从
ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.3.9.1-setup.exe
下载到。linux版一般系统安装盘上就有
使用方式
到你的源代码的目录下
输入
doxygen -g
它会自动生成一个名为Doxyfile的配置文档
然后输入
doxygen Doxyfile即可(也可以直接输入 doxygen)
写代码的时候遵循现有的那些通用的c++规范就行了,唯一要注意一点的就是写注释的时候
要以///开头,而不是以前的//
因为我们通常有个习惯,//来注释掉暂时不用的代码
呵呵,当然,doxygen的功能相当丰富,更多的更详细的配置,就需要慢慢学了
当然,它有图形界面,但是我不喜欢用,速度还没有命令行快

利用GNU 开发工具套件开发c++应用程序

开发c++应用程序你会选用什么开发工具?Windows下用的最多的可能就是vc++了,或者CBuilderX,但是,我很穷,我没有几万人民币去买这些昂贵的开发组件,如果你有,恳请你不要忘了给我等难兄难弟施舍点。linux下,Kdevelop,大名鼎鼎(windows下也有,我也在用,不过不大稳定),再有就是后起之秀eclipse(无所不能,平台无关).而这两者,说出来你可能不信,都是基于我现在要讲的GNU development tools。
如果你对GNU还不大了解的话,请访问其官方网站(www.gnu.com).
这一套GNU development tools包括Automake, Autoconf, Libtool, Make, Emacs, Texinfo 和 GNU C and C++ 编译器(gcc系列).这些工具都是免费的,跨平台的(unix,linux,windows).
一.安装
1。linux\unix
既然是GNU嘛,当然就得遵守GNU规范了。
(1)下载。http://ftp.gnu.org/gnu/,或者你也可以在其主页上选择其他的镜像从那下载,理论上来讲,近点的镜像应该会更快
下面假设有一个软件包名为foo-1.0.tar.gz,以之为例
(2)解压 (unpack)
% gunzip foo-1.0.tar.gz
% tar xf foo-1.0.tar
(3)配置 (Configure)
% ./configure
注意:查看下有没有error
(4)编译 (compile)
% cd foo-1.0
% make
如果这个软件包很大的话,你可以先去喝杯咖啡.^_^
编译完后,你可以测试一下编译是否成功
% make check
(5)安装 (install)
% su
# make install
上面的步骤看起来很简单,用过linux的人都应该很熟悉,然而下面的核心就是,如何让你的软件包也遵守这样的规范.遵守规范的一大好处就在于,即使你不写INSTALL,其他人也可以很轻松的安装并使用,而且,你还可以不负责任的直接用下面要讲的工具自动生成一个安装文档交给用户.
2.windows
如果你的windows 下有cygwin的话,那就很简单了,直接下载cygwin中相应的软件包,然后和以前一样点安装就行了。
如果没有的话,那么你可以在www.sourceforge.net中找到GN…