dennis-pg电子游戏网站

`
文章列表
一、什么时候数组和指针是相同的 1、表达式中的数组名(与声明不同)被编译器当作一个指向该数组第一个元素的指针 因此如a[i]这样的访问都被编译器改写或解释为*(a i)的形式,同样取下标操作符的操作数是可交换的,所以a[3]可以写成3[a],不过通常你不会这样做。 2、下标总是与指针的偏移量相同,下标*sizeof(元素类型)就是偏移数组起始地址的实际字节数。 3、“作为函数参数的数组名”等同于指针,任何传递给函数的数组参数都会被转换成指针,这是基于效率考虑,避免了数组的拷贝。在函数内部,数组参数都将被转换成一个指针,要牢记这一点,因此如: void test(char a[10]) {   ...
    ace_reactor在windows上默认不是使用ace_select_reactor,而是ace_wfmo_reactor(封装了waitformultipleobjects和wsaeventselect)。如果想选择ace_select_reactor,如: ace_select_reactor select_reactor; ace_reactor reactor (&select_reactor);     那么vc需要启用/gr编译选项,具体做法就是在项目属性c/c 的语言一栏中启用rtti信息即可。在选择了ace_select_reactor之后,启动进程后在 ...
  • 2009-02-03 15:40
  • 浏览 2085
相对完整的修改版本   1 /************************************************************************    2 * @file: echo.cpp                                                       3 * @author: dennis   4 * @revise: dennis  http://www.blogjava.net/killme2008   5 *          相对完整的echo serv ...
  • 2009-02-03 11:59
  • 浏览 2730
    首先你的机器上肯定要安装emacs啦,此步略过不表。  1、从 http://rubyforge.org/projects/emacs-rails 下载最新emacs-rails,解压文件到~/.emacs.d/rails 目录  2、根据readme,你需要下载三个依赖库: cd ~/.emacs.d/rails wget http://www.kazmier.com/computer/snippet.el wget http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt mv find-recursive.txt fi ...
  • 2008-11-23 02:22
  • 浏览 1658
    一开始尝试使用     sudo apt-get install libopenssl-ruby1.8     安装是安装成功了,但是仍然提示找不到openssl。还是决定从源码安装,首先确保ubuntu安装了openssl:     sudo apt-get install openssl     sudo apt-get install libssl-dev     sudo apt-get install libssl0.9.8         然后进入ruby源码目录下的/ext/openssl     cd ruby_source/ext/openssl     ruby e ...
  • 2008-11-23 01:34
  • 浏览 3859
    本节开始进入第4章最后一部分——逻辑程序设计。scheme将实现一种查询语言,非常类似prolog。由于解释器的实现在后面,还未读到,前面的习题我都将用prolog做测试,当然也给出scheme版本的解答,待以后测试。     首先给出依照书中所述写出的prolog事实库: address('bitdiddle ben','slumerville','ridge road',10). address('hacker alyssa p','cambridge','mass ave',78). address('fect cy d','cambridge',
  • 2008-11-22 13:27
  • 浏览 1428
    在第二个分析求值器的基础上实现了完整的amb求值器,在drscheme选择r5rs标准下测试通过。注意,在show details面板里将disallow redefinition of initial bindings选项去掉,允许重定义过程。给出完整代码: (define apply-in-underlying-scheme apply) (define (amb-eval exp env succeed fail)   ((analyze exp) env succeed fail)) (define (analyze exp)   (cond ((self-evaluating? ...
  • 2008-11-18 20:41
  • 浏览 1642
    jruby的内存占用是比较高的,毕竟需要启动一个jvm以及构建抽象语法树等,一般同一个脚本的内存占用都是cruby的几十倍甚至上百倍。记的infoq上有过一个新闻是说sun跟东京某大学合作研究ruby和jruby的mvm,可以在几个vm之间共享解释器,可以在启动多个vm的时候大大降低内存占用。不过这个项目暂时没有什么消息,要想在实际中应用更是没影的事情。有无其他解决办法?今天看到ibm developer的一篇文章,原来ibm jre for the java platform se 5早就引入了类共享的特性,也就是说允许通过缓存在 jvm 之间共享类来减少内存占用和重复加载类的开销。最 ...
  • 2008-11-15 00:58
  • 浏览 1323
4.38,谜题就有翻译错误,问题更是错的离谱。原题是这样的: baker, cooper, fletcher, miller, and smith live on different floors of an apartment house that contains only five floors. baker does not live on the top floor. cooper does not live on the bottom floor. fletcher does not live on either the top or the bottom floor. mille ...
  • 2008-11-15 00:02
  • 浏览 1319
本节开始介绍神奇的amb函数,为引入逻辑程序设计做铺垫。关于amb,有清华王垠的一个文档: http://cs2.swfc.edu.cn/~wanghuan/wangyin1/amb/amb.html 4.35,与an-element-of类似: (define (an-integer-between low high)   (require (not (> low high)))   (amb low (an-integer-between (  low 1) high))) 4.36,与练习3.69相关,貌似我没解过这道题,略过。 4.37,两点大大缩小了搜索范围: 1)通过限制 ...
  • 2008-11-04 01:20
  • 浏览 1187
4.27, ;;; l-eval input: (define count 0) ;;; l-eval value: ok ;;; l-eval input: (define (id x)   (set! count (  1 count))   x) ;;; l-eval value: ok ;;; l-eval input: (define w (id (id 10))) ;;; l-eval value: ok ;;; l-eval input: count ;;; l-eval value: 1 ;;; l-eval input: w ;;; l-eval valu ...
  • 2008-11-02 01:18
  • 浏览 1375
4.25,如果在scheme解释器的应用序求值下,unless定义为一个过程,那么 (* (factorial (- n 1)) 将无穷递归下去。如果在正则序时,由于延时求值,仅当需要计算时才求值此表达式,不会造成无穷递归,在1的时候正常结束递归。 4.26,在上一节求值器的基础上定义unless的语法形式还是很简单的, 首先在analyze过程添加分析unless:  ((unless? exp) (analyze (unless->if exp))) 然后定义unless?和unless->if (define (unless? exp)   (tagged-list?  ...
  • 2008-10-31 23:12
  • 浏览 1205
global site tag (gtag.js) - google analytics
网站地图