read.pudn.comread.pudn.com/downloads138/ebook/592814/newword.doc  · web viewmy program lesson. by...

Click here to load reader

Upload: tranhuong

Post on 20-May-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

My Program Lesson

By MuziSoft08

1. !

2.

3.

4.

5.

6. ,

7.

8.

13

14

17

20

20

21

21

23C++

24

24(1)

24pc

25

26

27

28cpu

28cpu

29

31

32

33

35

35

36

37

37GUI

38

39

40(2)

40

41

43

46

46

47

47

48

48

49

50

51

52

52

53

54(3)

54,

54

55Cruby

56RUBY

57C++ruby

57C++JAVA

58.netJVM

58RUBY

60

60CC++

61Cc++

62c#,javac/c++.

63VB,DELPHIRAD

64(4)C

64CC++

65C,,

65C

66C

66

67:

67C

68

69C(JAVAC)

70C

71COOP

72C:

73

74TypeDef

75

76

76

77

77

81Static

82

82

83

84void

85(5)

85

85

86

87(6)

87

88+

89

89

89

91vector

91

94

95void creat_btree()

97void creat_btree()

99creat_btree(int *data,int len)

101200

103,

105(7)

105Minlearn(5)C++

106C++

107OO

108

109

110MetaProgramming

111

111(8)

111

112

113

113

114

114.

115

116

116

116

117

118XP

119

119

119

120

120:

120:

121

123

129Yake(World&GameShowGeneric)

134:GVWL1.0

134WorldLogicGeneric

135Yakegvwllua

135:NotWar3 Demo

135 NotWar3

135:

135

135

136Java

137,

138Linux3D

138

139

139shell

140Debug

140

140windows

141Minlearn ruby (5) P2P

141Minlearn ruby(4) WEB

142

142Minlearn(3)

143Minlearn(2)

143Minlearn(1)

143

144Minlearn ruby

146

147

148XML

149

149SOA

149

151desktop,web,internet,WEB

151

152

152

153Scheme

155

155

156

156

157

157

158core learning and min learing

158

159

159

159.

160

161

162

162OO

163

163

165

166

166

171

171

173

174

174

175Unicode

176Windows

177XML

178GUI

178

179MFC

181

183.NET

184

185

185

189

190

192DSL

193

194

195

196

197

198

198RTTI

200

201

201This(C++)

201

201

202

203STL

204

204

204

204

204

205

205

207

208ADT

210OO

211

212OOP

213Interface

214

215

216

216

217

217

217

217

217

218

218

218

219

219

219

220OO

221

222

222

223COM

224DCOM

224Sun

225J2EE

226EJB

227

227

227

()()

,,,(,),

,

,,(, )

,,, ,(,),,(,)

,,,

,,

()()

()(,)

()

Idioms()

1.IDEIdioms()---

2.Idioms(--)---DOS

3.Idioms-----

4.Idioms---

(1-4)XMLUMLXPANT

(C,Java)(),Idioms

(C++, -),,)

),(),

()

,(),, ,

!

, ,

()(),,

1. .

2. C++,

3. ,(,)!

4. NotWar3War3()

() ()

1. ()

2. ()

3. ()

1.()C++,JAVA,,JFC

2. ()

3. () OOJ2EEJ2EEOOJ2EE

4. (,)

13(123)4

1.----GVWL1.0

2.-----NotWar3Demo

3.

(),,()

ITOO

,WEB(internetinternet,webweb) OSOSnativeOS OS

, (,)

,,,, , ,Lisp Yacc ,, ,,,

C++JAVA Ruby,,,Ruby C++STLBOOSTJAVAJDKJ2EE,, =+,,=

C++J2EE cast C++C++ C++,,C++JAVA ,,,,

OS ,,=,,=,,"","","",,,,,

,,OO,

OO

C

CPUCPUIOCPUOSOS

templateC++C++C++IO,,,windows,

CC(oopcrtti)C(C)javadsl(Cjava,,javaC)javajavajavaCjavaOOjava

C

javaCjava,C

1)

2

3.........

4)

5),dsl()..

C,,,,(),,,C

,C,LUA,RUBY,C.

,,,,,,,,,,(C),,,,,,,,

RUBYC,,RUBYC,,RUBY,,RUBYOORUBYIO,,?,,,,,,,,,RUBYOOSTL,,OOSTLRUBYRUBY,,RUBYC,,STL ? C ,,C++RUBY ,,..

,,,(),,:,CPU,,,,,,,,,,,,,,,,,,,,C,,(C+,),,,C,RUBY,JAVA,,,,,,,,,"",,,,OO,..,,JAVA.

CRUBY?,C*(OSC,C++,JAVA,RUBY),,CJAVARUBY ,,,,COSOS,,RUBYC++JAVACCRUBYJAVAOO Cembed copenglJAVAJAVA,,WEBI/OTCPHTTPWWWSOAPJAVAJAVAOO CRUBYRUBYCBIND,,

C,,CWINDOWS,

,,(), ,,,

C++

,C++HELLO WORLDIDE,,,OO,,

(OO,),(,,,,,),,,,,IDE,,,,,OO.(,RUBY,,,,,RUBY.,,,C++,C++)

C++,,,

C++,

1,IDE,make,install,,,,IDE

?2,,STLLIB,,,,,C++,,,,STL.

3,,OO,,C++,OO..,,OO,,.

4,,,OO,GP,OO,.OO,,,OO,..,,,..

5,,,.,,

6,,,,,,,,,,,,.,,,,,,,,,,,,(C,C,,C,,)

,!,.

?,,,,,,,,,,,,,,,,.;.

?,

W

(1)

pc

PCPC,PCPC

pc ,()PC19818ibmIBM PCintel8088 CPUMicrosoftMS-DOS,,intelPCCPUWintel

IBMIntelCPUPC()

::PC():1,:Cpumsdos

..

(stacksreg)

stackCPUCPUCPUreg

""()

ramCPU

CPU

.?CPUCPUCPUPCPCwintelpc.

CPUCPUdmaCPU(CPU)cpuCPU

0,1CPU

cpu(CPUCPUCPUCPUIO)cpucpu

CPUOScpu

cpu(cpu)()()()()

...

201mb(1mb)16161mb16(64kb,216)16464kb.

MB

32CPU4g32()3232C

CPU4G(4gCPU4g)..4g(CPU)

4g4g()..4g4G

4g80386CPU4gCPUpaeCPU

CPULDTGDT()

mov ds,ax, axdsds(32),,,CPU

CPUtildtgdtldtgdt()4g..cpl,dpl,rpl..

cpu

pdtr,pdbr,

cpu

CPUCPU()tsstss

calljump,

tss

CPUCPU

cpu

p4winxp(CPUOS)CPUOSCPUOSCPU(shellos)CPUCPUosCPU

windowslinuxCPU(x86)OS()

CPU()

CPU(CPU)WindowsSEHCPU

CPU(cpu)CPU()

CPUCPU(rubyCPU)

)CPU

CPUregreg

.c runtime dllnative runtimejvmC(regstack)

REG()REG

(stack)JVM(reg,,jvmx86regx86regreg3d render machine)

(,CPUpeCPUdatatext)CPU,regstack()stack

intelcpu(CPUREGSPREGREG)(=cpu)intelstackreg

x86(C)()

PE()()

(sp reg)()'bp"+-bpsp-bp

x86C(push)(,)()spsp(sp)

CpascalC

8086/80882016

16(16)1616(),()216(1048576),1048576,,104857616CPU1024kb16(CPUCPU)CPU""(CPU)1MCPU,()1620CPU1M???()1M64k64b,802862432

CPUCPUCPUCPU,(CPU,CPUCPU,CPU,,,CPU,CPURAM,),

(CODEEXE------

------dataEXE(),EXEDelphiexe()EXEEXEDLLdllEXEEXEEXE(),EXEDATAEXEEXEDLL()(DATADLL)"",4GB(2G2G4GB2GB,GB,)4GB32(GB4GB)KBwindows()()"",FLATsegment,FlatcodedataCSDS4GBFLATCS,DS()FLATEXERAW FILE(RAW)CPU""EXE(32RAW FILEsectionPEEXEPEXMLIDE3Dxml)

Linux,,,,,,,,,,,,,CPU,socketOS,OS,,,,SDL,..

,(KERNEL),,(OS),,X,,,APP,,,,WINDOWSGUI,OSX,(LINXUWINDOWS),,,,UBUNTUAPP(),,,,UBUNTUAPP,UNBUTAPPAPP

apacheC,

?,,,()(),(),,(),()..,

(,,,,,,,,)

(),IF,,THEN,,,,,,,.,,,(,RUBY)

,LINUX KERNEL,GNU LIBC,,,LINUX,,SHELL,,

,,,VM,

,,,,(,OO),(),(),EXERPM,RPM

(,andro,,,,,LINUXAPP,,GUI)

,,API

,OS,(EXE),WindowsEXE.LINUXRPM,

,WINDOWS,,,,?,(),,WAR3,,,,,,

EMBEDED,ARM()PC X86,,

,,SDL,SDLC,,SDLGTK,SDL(DXOOCOM,)

,X,/,3D,,,

SHELL,SHELLRUBY SHELL,()

,C(GNU LIBC,OO,,OS KERNEL,RUBYSHELLOO),RUBYC,,,GC,OO,RUBY(RUBYC?,C++RUBY,)

RUBYCJVMJIT,JVM

CRUBY(RUBY):

C,JAVA,,GOOGLE,C++,

Ca

,,,(,),,JVM,JVM.

IDE,OS,JVMHOTSPOT().

,P2P(P2P,P2P,),JXTAC,WEBIE,,WEB,,WEB,RUBYCWEB..

GOOGLE EARTH3D(),,

XML,OODB,,,(XMLDSL?,OS KERNEL?KENRL?)

,10,.

FlashSSD,,,,(WEB2.0,)

,,

OSOS(IDE)OS

GUI GUIGUIGUI(XMLXML)OS

OSOS

GUI

CPU(IO)CPUintelCPU

,,..

CPU()

posixunixOSOSsokcetOS

COSwindowsunixCOSC

unixunixCunix,funixCCCunixunix,,unixposix,posix.

C++(C++)CCC++C

(,,OS)(,),,,,,

=

(,)

,(,,CI/O),,JVMJAVA,OS,..JVM,,JAVA.

(,,OS)(,),,,,,

jvmjavajvmjvmjvmrmi,,java

java,,

IDECPUintelCPUintinterrputint 3CPUCPU

,,CPU

OSCPUJVMJAVA(JITJAVA)CWINTELwindowsruntime..fs

GUI

C,C ,C,C,C,,,,C,,,C.

WEB,WEB,GOOGLE DESKTOP SEARCH,GNOME,NETWORK,OS,GNOMEBELGEL,,,WEBHTTP(),WEB,,..

GUI,SHELLKERNEL,Unix,MIT X windowsCORE,,SUN(SUN DESKTOP SYSTEM ),,OPEN LOOK MEIRF,,B/C,C++CLASS,CGNOME,,().

GUI?

GNOME,,/CD/DVDBT,,,,,HTML,GNOME,WEB,IE,FOX..corbaGNOMEXML

GUI

GUICUICUIGUI

CPU()CPU+OSSOCKETPCPCWEB+JAVA(70%)(WEB)XMLXML,,,lua ,,..

PC

OSGUIOSLINUXWINDOWSGUI

LINUXSDLXMLlinuxCUIGUI,SDLargr

SDL

SDLXML

GUICwindows.

UNIXshellwindows()"producemenu(10000)"10000CCwindows apiCGUIC

CCHCmsyslinuxlinuxwindows.

makelinuxIDE

vimVIMwindowsIDE

(2)

(),()

,

(()()),,

()

(,,,),,

()

()w0->w1,w0w1,

(,,)

()

10.2

S(S0)

I

f()

,,305,1025,303030

,,

:

s0() ,,

s1(5),,

s210

s3(15),,

s4(20),

s5(25),

s6(3030,)

:

i0(5) 0,

i1(10)

i2(25)

i3(O)

i4(R)

:

o0(n)

o1(5)

o2(10)

o3(15)

o4(20)

o525

o6()

o7()

+=>+

1025,,,5

s0(, ,s0)

10(i1),s2(1010)

25(i2),,S6()

5(o1),,

(i3),(o6),,s0

()

10.2.2

1 M=(S,I,O,f,g,s0)SIOf,fg,gs0.

7 31,1,31

(),,,

10

:

s0(1)

s1(1,,1)

s2(1,,1)

,,11111

(,,),,(bnf,),,()CJAVAJAVAOOCJAVAJAVA()yacc.lex()

(,,

bnfnfa

()lex(token)(),(),,

(,,,,)

()

dfa,nfa,()dfa()

lexC

()

LR,LL,

,,(),,()

(for) ()

ID

()(),,

.C

CC++C

1,,,,,,

2,,,,,,,

3,,,,,,,,,

4,,,,,,,,duking type,,,,,(),...,,,,,duck

OSOSOSBIOSIOOSOS(OSOSOStiny)

OSOSsystem call IO(c stdiosystem call io)()OSOSOSOSmain()std lib dll,std lib dllcrt,

crtcC,run time,run timecrt

()OSc runtime,,crt

.netruntime,.

XMLXMLXML

CPU-(,CPUCPU,OS,)OSCPU

CPU+OS,,,=web 2.0,web x.x + nc,nc,CPUOS,,WEB,OSCPU,,NC,,CPUOS,,,OSCPU PCNTbroswer,NCweb2.0

CPU+OS"",WEB"",,,

CPU,IO,,OS,,API,,,

,

..Open office,,,

,

(OO,),..

,,,,,,,,

OOAOP

lamdaeavl()

,,,(,,),,,()(JVM),,,,, OOP

netCPU+OS(CPU),.native.,ruby,javaC,Cnative,,,,,bind..IT

,,,,()(Web Server)(AutoCAD, MS Office).,,..,(GUI),.,,,,,,.,,,.,,...

????(host environment).,,,(c,WebServercjava,C++/java/c#),---(Host Language).,GUI,API(),.,.,GUI,,,...,Linuxbash, WindowsWSH(windows script host),webperl, jsp, php, asp, VBscript, JavaScript. , AutoCADAutoLisp, MS OfficeVBA. 3ds MAxMAXScript.,.

????,,?.java,java,.,,,.,,.

????,,,()(stand-alone),(embedded)().,,,(),,.,,,(PythonC++,).,.Python,Ruby,perl.()(C/C++/C#/Java)(),,,,(),,,,,,,.,.Pythonlua.

,,,

C++,,,,,,

dukingtypeRUBY,LUAC++duking type,

,,"ADT",,,,,"",OO..

YYYOO,classADTclassification

,,Y,,,,,,,...

,,,C++,RUBY?C++!!

"C++",,RUBY(,),,,,,,

,

,C++(C++,C++,OOOO,,,C++OO,C++),,..

,C++,OO,,,,,LUA(LUA)

,,,,(),,,,,

,,,,(,,,,,,,),,,,..

C,,,,,,,..

CRUBYOO,C,,C(C,RUBYCOMRUBY)

Javajvm

(pehex,,hexpe)idadumpbinPEhexpe(PEmap)

()()PE

(progo)

Cpascal(C)

()if else()

ifelseifififif,ifelse if

intelelse

,,,??

,,,

C,,OO,,,OO

,,,,,,,,,,,,,

,,,,,,,,?

Java

()()()

()False,!!

GameObject& rgo = *pa; // rgo GameObject

// Asteroid

=

dymic cast

rgogameobjectasteroid

rgoGameObject()______rgoGameObjrgogameobj

point to someobjref to someobj

refcount

(3)

,

,,,,,=+OS

OS,,,,,,

C,,,VMOO,.,,,

C(),CPU,,=+(,,).C,CLASS,.

,C,OO,C()sockettransport(int),transport(float)(transport())C++

,,,,.,,,,(p178)

C++,,,1,,OO,,2 ,OO,3,COSNT,STATIC

C++,,C++,JAVA

,,

OO

JAVAWEBLUA()XML()WINDOWSCCWINDOWS

WEB()

OOLUA(LUASQLDSL)

OOOOLUAOO

Cruby

,1,,2,,3,

OO,?OOOOP,,,,(OO,OO"",,),,OO,OO,,,OO,,,,OS,,,PE,,,,,,OO,(),OO,,,C,,RUBY,JAVAOO,,

cRUBY,CRUBYRUBYBindC,RUBYWINDOWS(C),CRUBY,

,,C(),OOC(,,OO)

1,OSLINUX+ruby shell,ruby,C,,,RUBYC,,embed c,C

,RUBY BIND C,C?,CBIND,RUBY(RUBY),()C,native code.

2,RUBYC,,SHELL..RUBY

,CRUBY(,,C++OO),,C,C,,IO,,,,RUBY

RUBY

C,OOCC++,C++C,CC++,OS,C++,()JAVA,JVMJAVA(OS).JAVAJVM,SOCKETOO.,,WEB

C,C++,CC++,C,,C++.(RUBY)JAVA,(JAVA,,JVM,JAVA)

?

RUBYrubyCoroutine

lizaard

+

C++ruby

,ubuntu,windowsubuntuwinubuntu

,,,,,,,(C++,,)C++,,C++,,,,,,,C++,OO,C++OO..

rubyC++,

RUBY,

C++JAVA

,C++JAVA,,,JAVAWEB,C++,,JAVA,,JVM,(C++,,,C++OS,C++OS),JAVAWEB,JAVAWEBJAVA,,,,RORRUBY,J2EEWEBJAVAWEB,

WSDLW3C,JAX,AJAX,WEB

XML+()RUBY,HTMLJSPTAG,PHP

.netJVM

.NETJVM,(,,.NET,JVMJAVA

,,JVMRuby,rubyjava,,windowsJava,,,.,WINTELJVM,Windows,.

OS,C(CMSVC,BC,GNUC)(OSCLS),,OS,C,,,,,,,,JAVAJVM

OS(),OS,,,,,(OS)"""JVMJAVA",JVMOSJAVA

?JVMJAVA?(first class),,OO,JVMJAVA,OS,,,"",

RUBY

C,OOCC++,C++C,CC++,OS,C++,()JAVA,JVMJAVA(OS).JAVAJVM,SOCKETOO.,,WEB

C,C++,CC++,C,,C++.(RUBY)JAVA,(JAVA,,JVM,JAVA)

?

RUBYrubyCoroutine

lizaard

+

,,,,,,,,,,ITITIT(,ITIT,IT,,JAVA,,,,,)

,,,,,,,,,?,,,,,

,,,,,??,,,,,,,

Delphi,eval(),WEBXML(,)

,,,STL,STL,JAVA,(JAVA),,,,,(:,),,,,,,,,,,.

CC++

C++1/3C++OO(OO)1/3C++

CC++C++OO

C++OOCC++OO,C++C

OOOORTTIC++CDSLRUBYOOOO

objective Cruby

Cc++

Cc++

Cc

Cjava

java

c

stladtCCadt(adt)Cadt.

=CCCCCC

c#,javac/c++.

c#,javac/c++. 64. byte code,Pcode. , ,, . ,A+B+C, Push A (A) Push B (B) Add (, RegA) push RegA (,) push C Add (C) stack computer c/C++ load reg1, A load reg2, B add regA, reg1, reg2 load reg3, c add regA, regA, reg3 cc++, register computer. , ADD(), c/c++ add rega, reg1, reg2. ,CPU, cache,cache . Intel64itaniumcpu, cpuc/c++,,. register computer? , (CPU)! , register computer(Intel, AMD, PowerPC), stack computer, cpu, stack computer CPU. ,() , . .(,).java c#. , javac/c++. (64), ().

VB,DELPHIRAD

vbwindows,,VB,OSDEVELOPER,

,OO,VB,VB,,,VB,,,.

VB,"""",,,,,,,C++,VB,,,,,,,(,),,.VB,.

,VB(),,,,,,,,,,(,,,(,)..,

VBC,C++,,,,12(),,,WINDOWS GUIUNIX CUI,WINDOWSGUI,,GUI IDEUNIXSHELL,VIIDE..,,,2"",

VB,,,,WEBDSL,,,RAD,,,

VB,,E,DELPHI,,RAD

,,,

PC,,,,,,,,,,,

VBOS...

,,,RADVB

,VB,VB..,VB.NETWEB,

(4)C

CC++

CB,,&R,,,C89OO,Template,C++(C++C89),,,C99...CC99,..

99template99

C89()Ctemplate

,,,,1,2,,,,,link,"",,"",,,,,key:value,2,,

Vector,List

C,,

(C)

C,,,INT,FLOAT,CHAR,VOID,(,,,,first class),,,,,,,,,..(Cstring,char,,,Cstring)

C99_image,_complex,_string()

(:()char[]+/,strcatcstring.hstring.h)

union,struct

C

iostream(Cin Cout),,Cstdio.h(inpurcharprinf()),i/o

i/o,(,),,,input steam,file steam,

i/owindowsunsigh,sign,,int3216

,,,,,(,,,)(i/o),,,OSfilesteam.

C

C++first classlisp()Cprimitive typeschar,int,float,void

C++ templatetypeclass

,,,,(),,,,,

,,,,(,,,,,,,),,,,..

C,,,,,,,..

:

,,,,,

,advanced pointer c lanuage(CCC#)

C"","",,,,C++"OO",""(C++,C++,OO,C)

C

mov eax dowrd ptr []mov edx dowrd ptr []

C

CC++,,Cc99,C++C89,,

C,,,,,,C

,,,C1) ,C.C.C++Iostream.h,,,,,,C,,C++,,..C, C++C,,,2),bitwise

C,,,,,,,,,,,,,,,,,,

C,,,,C,,(),,,,,..,,,,,,C,,C++OO,

,,C,,,C

VBRAD,,,,,...,,,..

OSOS(),

VB,,VB..,,,.

,(,)

,,""""(, ,,,,

1.,,,,,,,,32 int

2,,,,,

3,,

,,"",

int* pointoaint;????? //pointoaintint,,,

,(,,=,,,,)

(first class OOTobject,OO)

C(JAVAC)

C,,()

C,,,,

WEB,,,,,,,,(),,,,,,,,:GUICUI,,CUI

,,,,,

JAVAWEB,,,,,,,JAVA,WEB,,JAVA,WEB

C,,.,,,CJAVA,,JAVA...,WEB..,,,JAVAC..!!!!!

C,,C,,C,,,,C,,,,,

CC,,C

CC

,JAVAC,,JAVAC ,(JAVAC),,(WEB,)JAVAC,,..

,=+(C,,,,,,C,,.out,,,=..)JAVA,,,,,,,OO,,,,,OO,,,,,,..

C

C,OOCC(CCOOOO)COOCOOOOCOO(OO)C(OOCC++templateC,OO)

CCOOCOOCC1.C,CC 2CC(C)C 3 C,COOtemplate,Cdsl4,OOtemplateCCOOtemplate,COO.

1),,,struct,typedef,,structtypedeftype redefine

2)

3)voidvoid.

4)C.

5)

6)Cvoid (foo *)(int)void,intfoo..

7)C""stack->next=stack->next->nextC++

8)typedefdefine

9)constconst

10)

COOP

CcCOOCCCOOC++

COOclass,class=type,templatetype,templateCCCclasstypetypetemplate

class(),subclass,class,,object,classinstance.classobject model

class(C++interface),,

()OO

RTTI

C

COOP1keyword,2,rtti.C,,oo,,C3adtinterfaceCCtemplasteOOP

class

C:

,==

C++,,BOOST,,OO,,OO,,,C++(,,,C,),,,C++,C++C++,(,,,,),,,,C++C(OO),,,,,,C++","(C).,,.,C,,,,C++,OO,TEMPLATE(),STL,BOOST()

,C++,C++,(C++),,,,(,)

OO,C,,,.C,OO,C(),,,,windowsC,,jxtac,,,,

,,,CC++,WEB,JAVA,COO,,,,struct student,,,(,C++,,C,,,)

JAVA,,,,,JAVAWEB,C+LINUX,LINUX.C,C.

,CC++,,,,C,C++

type*

,,,,typetypetype(),,dephiptype

type* someobj;

(*typesomeobjCsomeobjC++type,type *someobj*someobjtype,type* someobjsomeobjtype)

someobjtype,,type*()someobj

()

32long int(Generic progamming),void*(,)0,(),,,(,adressvalue)

,const(const)

type*

,,,,typetypetype(),,dephiptype

type* someobj;

(*typesomeobjCsomeobjC++type,type *someobj*someobjtype,type* someobjsomeobjtype)

someobjtype,,type*()someobj

()

32long int,void*(,)0,(),,,(,adressvalue)

,const(const)

TypeDef

typedef(typedef=type dfine)

1.typedeftypedef int INT;(INTint)

2.extern()extern int myint;(myintint,,,)

externtypedef(myint)

myint

typedef int (*myint)(),,,extern int (*myint)(),,myintint

type*

,,,,typetypetype(),,dephiptype

type* someobj;

(*typesomeobjCsomeobjC++type,type *someobj*someobjtype,type* someobjsomeobjtype)

someobjtype,,type*()someobj

()

32long int(Generic progamming),void*(,)0,(),,,(,adressvalue)

,const(const)

type*

,,,,typetypetype(),,dephiptype

type* someobj;

(*typesomeobjCsomeobjC++type,type *someobj*someobjtype,type* someobjsomeobjtype)

someobjtype,,type*()someobj

()

32long int,void*(,)0,(),,,(,adressvalue)

,const(const)

CC++

int *(*(*foo)(int))[5];

foo(-*foo)(foo)int(fooint)

1,Window

()windowswindowsC++CUI**

data flow,,file map(),,,,

2,

3,type**

4,Handle

5,

BA

(A)new B

BA

a handle of A pointing

to a B,

forupdateupdata

case

(C++)

(0)

continebreakcontiune()break(break),,()

C++ C++ CC++static_cast, dynamic_castC++static_castdynamic_castreinterpret_castconst_cast

static_cast

static_cast < type-id > ( expression )

expressiontype-id

intcharintenum

void

static_castexpressionconstvolitale__unaligned

dynamic_cast

dynamic_cast < type-id > ( expression )

expressiontype-idType-idvoid *type-idexpressiontype-idexpression

dynamic_cast

dynamic_caststatic_castdynamic_caststatic_cast

class B{

public:

int m_iNum;

virtual void foo();

};

class D:public B{

public:

char *m_szName[100];

};

void func(B *pb){

D *pd1 = static_cast(pb);

D *pd2 = dynamic_cast(pb);

}

pbDpd1pd2DpbBpd1Dm_szNamepd2Bstatic_cast

dynamic_castcross cast

class A{

public:

int m_iNum;

virtual void f(){}

};

class B:public A{

};

class D:public A{

};

void foo(){

B *pb = new B;

pb->m_iNum = 100;

D *pd1 = static_cast(pb); //copile error

D *pd2 = dynamic_cast(pb); //pd2 is NULL

delete pb;

}

foostatic_cast dynamic_cast

reinpreter_cast

reinpreter_cast (expression)

type-id

const_cast

const_cast (expression)

constvolatileconst volatile type_idexpression

Voiatileconst

class B{

public:

int m_iNum;

}

void foo(){

const B b1;

b1.m_iNum = 100; //comile error

B b2 = const_cast(b1);b2. m_iNum = 200; //fine}

b1const_castb1b2

Static

C++staticstatic

static

static

static()

static

static()static()JavasystmeAPIAPI

staticconst

static

overroad()private

CC++int i=9;extern int i;Java

(/0)char*

new type[num]

==1=

char* myvar = iloveuchar[] myvar2=iloveu2()

11sizeof(type)

,alloca

mfc

bcplC(32,)C(,)structadt()lisp

C

void (int *p1,int *p2)

#define mysub(x) x^3/x

p1,int*p1,p1,p2

definemysub(x)x,mysub(x)define

:

(,,gui,)GUI

CPU

CCPUCCCPUOFCF

()intelcpu()(),2C()0,220,0,01,10..

()

()()0,,,,1s

()

"&[]""+"CC&[]""+"C

"&[]"(...)

void

Cvoid12332

void

voidint *,float *,voidvoid(castint*float*)

castC()C++

(5)

,web2.0,3.0,,,,,,,,,,OO,,"",,

,,xml,,,,,,,,delopy,

,web,,(,),,.net,,flex,silverlight,.

,.,,,xml,oo,

,..,PC....

,,

,OS(OS).

google,,,,,OS

,,,,OS.WINDOWSGUIcore,...,.

,,...C,CC

....,,,,,,,(Lua,,)

,""DSL(SQL,),,,,,(,)

,,

,(DSL)

,C++,

,OO=+,,??,OO..=,,,....OO,,()..

,..,..

,,,,,.,,.,,,....,,,...,,,(,,,)

deepest concept,lowest interface = min learning

OO,,,OO,,OO,..

CC++()linux,,windowsGDI,C,C,,,,C++OO,

(),JAVA,,,,JDK,SUNJ2EE,,,

(6)

(regstack)

,(JVM,jvmjavaruntime)

C++OOrtti,,stackreg,()

Cthiscdel,fast,pascal

runtimestack runtimestack frame()stack runtimestack

()()((

()()

()

()

+

,,OO.....

(),,,,

OO,,,,,OO....()

,

+CCCCC++,C

,

,

,,

,

,

,

()

()

,,,,,2.2

()

,,,

()

Cstruct,typedef,cC(bit maskbit mask10).lispadt

adt..

adtadt,adtadtadt,,,2adt,2adt,adtadtadt.

list,sequences,listlinked list,sequences(1)sequenceslistordered list,listsorted list()ordered list,(2)sequenceslinked list,linked listadtlist.

key valuekeyinterger,,,smalltalk,objectivec,.net,python,realbasicdictionariesperlrubyhashesC++javamaps,common lispwindows powershellhashetables,phpluatable,

key valuevaluekeyvalue,keyvalue1nbit vecotr.

vectordymic arraymalloclinked listlinked list

vectorindex list,linked list,,(Cfoo[m][n]foo[m*n])(1vectormatrix)(vectorindex listindex list,bst)C()

vector

vectorCCadtCC

C,vector,vector1rowCfoo[3][4],4row,34,,2,pascalvector

3,,vectorCvector,c++stlvector,vector323232,3,,1vector()(1foo[3][4][5],:

(1)3[4][5]

(2)..

(3)..

(primtive types)(idioms),

ADT

javaC++newCC++C++ADTC(C),STL.

,STLarraryvectorvector,(wrapperfirst class)Vector(Vector)

()CC++

JAVAC++INT MyVar[10];MyVarJAVAINT[] MyVar;type *typetype[]

(orderd list)hasp map,

(123)

B=(K,R),

(Hash)(set),,(hash mapmap),,(table),(array),,(vector),,,,map,linked list,(matrix)vectortable

mapset,,

(),

,(list),,dequece(double end quece),

table,,

(map),()

keyvalue,,(hash)keyvalue

MFC()

()()(++p,p--)()()forward

listorderdlist(linked listorderd list)orderd list

( )

,

1()()

ADT

C

:2005.7 - 2005.9C - ,,,,,.

(,),"",,"","",(4.bmp,"")

"",,,,,,"",0~MS-1(int queue[ms]int stack[ms]),,,,int,msint,,(int,,,,,,,msms+1,,,,msms-1,0,0,,,),,0~MS-1,1~MS,,,2~ms+1(3ms),,,,,,(0~ms-1,1~ms,2~ms+1),"",(,,"","",""),,:(5.bmp)??,"""","",(),"",top,"()",top,,32,top,,"","","""",""top,""top,,""top,,,(,,,,1,,0~ms-11~ms,),,,,,,,,"",,,(),,,,(),,.

,,,,4.bmp"""",,,,?0~ms-1top,0top,top,top-1,,0,(,),,top"",,,,top?,(push),2,,,,(2,front,endhead,rear),rear,f,fr,f,r,,f,r(f,r),,,,(fr),,,fr,fr,,"",,,value,,,,,(),,,,,0,,.

Q.

(0)200662 053

void creat_btree()

(0)200662 053

[%repeat_0 match="/data/option"%] [%=@title%] [%=@count%] [[%=@percent%]]

[%_repeat_0%]

void create_btree(int *b_tree,int *nodelist,int len)

{

int i;

int level; /**/

b_tree[1] = nodelist[1];

for (i=2; i>> fib>>> f = fib>>> f(100)1 1 2 3 5 8 13 21 34 55 89 Lambda "" C Pascal """"^_^"""" Python """"""""

SOA,COM,,,OO(,)

CJAVA,,,OS,JAVAJVM,,JAVA,OS,C,JAVAJVM.VB5,.

CJAVA,,,JVM,OS(,JVMJAVA,,,JVM,JVMJAVA,,,,,,JAVA,JVM,,JVM,,JVM,,SOCKET,,,,JVM,JAVA,,,,C,C++).JAVA,JVM,,,OS,

Design PatternsIteratorJava 1.01.1EnumerationJava1.2

,?,,,,,,,,,,,,"...",,,,..,

,,,,,(),,,.

,,,,,,,,,,,

,GUI(WINDOWSGUI,GUI,),,,GNOMEGDI,GTK,,,,RIA,,HTML,AJAX,FLEX

,INTERNET,BBS TENLENT,BBSHTML,TCP/IP,OS(OS,TCP/IP,,,GNOMEAPP,WINDOWSGDI),,HTML

,XHTML,,WEBGUI,AJAX,FLEX,

AJAX,,javascript,WEB serverbroswerpages pulling,pull,(,),

FLEXADOBEFLASH,MXMLDSL..

(,,,,,,,,,,,,,,,,,),,,,,OO,OO,lua meta tableOO,,JVMwindows,

,?,?,,,(,,),,,,,,,

?,,,,,!,

,,,,.

Spring,strcuts.MVC,,rails,springweb,"",,,.

,,(),

,,,,.,,,,

,,,,,(API),

open jdk(),,,,,,"""",,

core learning and min learing

,,,,

1,x86,,,,CPU,OS,,OS,,,,WINDOWS,

cpu,,

2,,,

3,,,,

4,,,

,,

COS,,OO,,.OO

6,,,,,,,

7,

,,,,,,

,,(,,,,,,,,,),,,,,,,,(XML,node,root,),(,),,

,UML,

,(),,,,,,,,

,,,

,,"",,

?:,,,,,.,,..

.

,,,,""(),(,),

,,?("",)

,"","",OOO,,,,.(,,)

,"",,,,,,,,,,

,,,.,,,,,,,,,,,(","),,

?

=+=++,,

,,,OOC(OOOO,OO,OO,OO,OO,C,,,I/O,)

,,,,,,,LINUX,,(,,,),"(,)",COO

OO,,,,,,,,,,,

,,,,,,,,,,.

,,.,,,,,,,,,.

,,,,,,(,,),,,,.,,.

,,,.

,,,,,,,,,,,,,,,,,,.CSDN,,,.

,,,(),,,,.,,.

.

you made me sick

(),

26(),,,,,0,,

?

IT

(tomato)

OO

1,OO,OO,OO,,,,COM(OO)

2,,OO,,,,(C++),OOOO,OO,,C++,,OO,,OO.

3,C,OO,OO,OO,RUBY(-C,OO)

4,C,OO",,",,

,,

,(WEB),.,,

,,,SOA,JAVAEE.

,,,,,,,,,,,(),,,,,,,,,,,,,,

,,,,,,,"",,,"",,,,

,,,.,,,,,"",,,

,,,""(),,,,,,,,,,,,,(IT,,,),,,,,,,

,,,,,,,

OOADT

,,

?

(),

,(1)NFnN(), V(F)Fn,

n

(2)()

.

,

(),3.4()

,,()

()

,,

4 ,()n

1

1

0

1

2

1

0

1

3

1

1

2

4

2

1

3

5

3

2

5

6

5

3

8

?64,4231

(:),(,,3-1,4-2,5-3,6-46-2,22),A+A-B+B-(),B+B-B+B-A+A-C+C-,B+B-A+A-B+B-D+D-,,

,ab,b-a=2,3-1,5-3.

(3-1,5-3,,,nn-1n-2,,,an,an,,)

,53,()

3-1,5-3,

1

2 1 n-13

(23,)n,,,,()?

:,1n-13,(2),21n-112,(:1,:)

,Snn,(,,,,,Sn,Snn13Step,S22,S1010Step,Snn),1Sn-1,213Sn-1,

Sn=2Sn-1+1 (Snn13)

SnSnn12,(13,2,3Sn=2Sn-1+1,,,)

5.2

,,

,

,an= an-1,,,,2,,

()

,,

,,,,,=,=+

,,,,,

X:,()

(,)ian,ink(k1,),,,()x,,

AI,,,,,

(primate typeoo wrapper datatype---ADT)CPU

()ooclass,,,()()()(OOCLASSOO)

()pagefile()PE

GUIGUIWINDOWSOSGUIUNIXGTK()WINDOWSWINDOWSWINDOWS(Windows)()WindowsCAPI(API)MFCAPIWindows

OORPC,RMI---OOXMLJAXOO WEBSOAP,,()assemble()(IDL),XMLEJBS

CLASSCLASS()

(SOA)SOA

JAVAJVMWIN32

JAVAJAVA(CPUOS)

ASCII(ASCII)WEBXMLXMLxmlxmlASCII,ASCIIUnicodePEbase64base64nodeXMLXMLXML,,metaData XML

(,,1)

(),,0cfofCF,OF(),,

0xABCDEF12 16AB(,intel)(12 EF CD AB)

,,,"bigdianbig""little dian()"CPUOS(intelbig,)small,big

()(-ASCII)(map),,()

JavaHash

,,(,,)"",,,,ASCII,01ASCII,,(),,,"",(""):(2.bmp)

,,,,,,,,,,,,,(CPU,),,.

256CPUCPU

Unicode

ASCIIISO,GBBIG5

unicodeisoucs(uni character set)

unicode265535(21665535,65535)

()65535,

ucs

CJK(chinese,janpanese,krean)unihan(han,uni)65536,U+0000U+FFFF

65535utf16(code plane,VSC4819code page),(U+10000)UTF161-1716

655352048(D800-DBFF1024DC00-DFFF1024)U+10000code point

\uJava(char)(string)()

()unicode---UNICODE---,JAVAunicode

utf8,utf16,8,16,,ucs2,ucs4(24)

utf(),(),utf8,utf16,8,16bit,,,bitbit,utf88utf88,,utf8(2-4ucs2,ucs4)

U+0x0000U+0xFFFF(U+unicode)

0x00000xFFFF(unicode265535code point)Uutf8,,

Windows

WindowsWin OSWindowsWindows(Win32)WindowsWindowsWindows IDE VB ,Win32WindowsWin,,Win32

(),Windows(,),WindowsOSWinOS..

OS (("")Windows),OS - MFC,,,,(:,)OS,("..")()Win32

MFC123,OnCmdMsg(),4,SetCapture5,6SetWindowsHookEx(),,.

,,

,,,(),(),

CWinApp Run()..........,,,.

UML

Windows

XML

xmldom,,(dom,xmlsun)

,dom,xmlxmlnode,root,,domschma

,,nestape

webxml

GUI

GUI

WindowGUIconsole,(UNIXGTKGUI)GUIDX,DXGUI

CONSOLEGUI

DXGUIGDIDXGUIGDIDXDXGUIGDI

JAVASWING,MVC(--)

GUI()

window frame

window baseeditbutton

DX(utilityAPP)(GameAPPAPPutility)GUI,assert,UtilityDX APP

guistatic mesh(ogremoveable)terrain mesh ,top viewmesh(Render to texuretexturetextureassertsurface)

,WindowsC++(C++ANSIOO,CC++OO),C++,,Windows("Windows")C++,WindowsWindowsOS,C++,C++(),,MFCObjectsC++Objects,(,Windows,MFCCDC,);

GDI

:,MFCMFC,,:(x,y,x,y,,),:DrawLine(x1,y1,x2,y2,color,width),,,,,,,:DrawLine(x1,y1,x2,y2,color,width,device,limits,units),,(,CPU,,,Linux),,,,,,,CPU,,,,DrawLine(),,DrawLine(),,,,,??

,C++,(,,,,,,,,,,,MFC),C++,WindowsDrawLine(),DrawLine(),,,DrawLine(),(,),:DrawLine2(,x1,y1,x2,y2), ,DrawLine2(),DrawLine()x1,y1,x2,y2,;

("..")MFC,C++MFCCDC,,""Windows,..

API

MFC

32Windows,Dos16,WindowsWindows,(,),DosWindows,,,C++API,,,Windows,Windows,Windows,,(VC++).

VC++,Windows,VC++MFCWindows,Windows,,VC++WindowsSDK,,VC++C++,,,MFCC++,Windows2,MFC,API,MFCWindows,,BCBIDE(VC++,BCB),,,Win32,Windows,MFC.

MFCAPI,,MFC,API,,,:,Windows(:"Windows",C++),,"On_"+(WM_Paint),C++.

MFC,(,,,),MFC,VB,Dephi,32,Win OS,,,()MFCAPI,MFC,,,,C++,,MFC"","",,,MFCfor C++,""MFCC++().

MFC,(Microsoft Foundation Classes),,C++,VC++WinOSC++ SDK(SDK,Standard SoftWare Develop Kit,),MFC,MFCVC++(C++VC++:C++,,VC++,+IDE,WS,PlatForm,PascalDephi,PascalDephi,DephiPascalWin,BasicVB,BasicVBBasic,VBBasic,,,VBIDE,),MFCBC++VCL,,MFCVC++..

MFCWin APIC++,MFCC++Objects,API,WinOS,,,(,,Borland)Win OS,WinOS,VB,VC++,Java,DehpiAPI,WinOS,WinOS,,API,Win,,MFCAPIC++,C++ SDKWin,MFCAPI,,WinC++ & MFC,,,,(),MFC,..

MFC,,,,,(,),WinOS(MFCWinOS),,,C++MFC,C++,,,C++..

(2)

,:,,(,, MDI ,CWnd )WM-PAINT:,:Windows OS SDI MDI.,:()

..

(),(CWnd,,CWnd,MFC)MFC,Win32,:,(,), .(.)

Javajavajava,win32Javajavajavajavajni(java native interface)java

JAVANET,,sunmicrosoft()()(IOWEBDB)OO(VC6MFCC#).NETJFC

, (JAVAEE,-Middle ware)

()

APIAPI(APIAPI)APIAPIAPI(,)

APIAPIAPIAPI

OO(),JAVANET,MeteData

SunMicrosoft(+able,IConvertiblecast,IConvertible )(,,) ,JavaWEB,WEBWEBDCOMXML,RMI

.NET

winword IDEvs9vs9win(,,.net)VS9.netwin32nativeweb,xml,web,,device sdk,tablepc sdk,embeded(vs9,vc ,vcse).

sdk()

1.platform sdk,,windows OS,,win32apimsdnProgram Files\Microsoft SDKs\Windows\v6.0A

2..net sdk sdk,.net frameworksdk(.net frameworksdk,.net java,nativehigh language),.net frameworkwin32.net framwork(,)OS(crt),,

win32.net.net

3.device sdk,,,

.netjava.net framework()win32windows.netwindows.netwindows

VS7SDKWindows SDK(WindowsWindows.h),PlatFormSDK(),DOTNETSDK(),VC SDK(VC),SQL()

ogre

?plugable(WINHAL.DLL)

,,,

()OGRErendersysrender()callback,,,rendersys(ogre)

()Dependencies,portable,plugable

wrapperC++

JAVA(JITScript,)JAVA(JVM)JAVAJVM

(War3)

,unix shellscripts(CS)(,Ogre)

Microsoft Word OLE automation objects.,,vbscript(VB),windows.

txttxt.

action-schedule-motion

OSOS,

CC++(OS)(Java)posix api,

,Db4o,,(EJB),

Java

VolatileAGPshadow memeryvolatile(CPUCPUGPU,,)

EJB()

()

(OO)(),

UML,booch,

()

()

EXEDLL(win32 sdk,mfc)

C++.hpublic.h__sth_h__sth_interface

createprotected,,,,,,,,

SDKSDK(override,)

overroad,override

sdkWin32SDKVC++SDKDX SDKMAX SDKSDK

HEX

MFC,SDKOOMFC,,CPUWIN32WIN32CPU

,RTTIpredefined behaviors

pythonC++swig(luaC++C++Lua-calllua)stdcall,fastcall,pascal,

stdcallapi,,fastcallecx,edx,,,,api,callecx,ecxthisthisrose

()this()(thisecx).rdata

1,

2FIFOFIRSTLASTIO

3,,,,EXE

()XPUPS()

()Solution(VC7Solutiom).

(^^)

()

1. ,

2.

2.

3.

()

1.

1COSAPI

2C++C++OO

3COMDCOM

4ActiveX()

5 JavaBean

DLLDLL()

ABC,()BC(BCA)

,AGameGeneric,BShowGeneric,CLogicGeneric,

BCA

(,),

()(GameGeneric)

Yake

GameGeneric(BCABCA),GameGenericBCA(A)BCBC()

^^

DSL

DSL

IDL,WDSLSQLIDL,,C++,JAVA

(vc*.obj)

C++ALGOPROLGYACC

SQLUMLIDLXMLYACC()

(Actor,,,,MissionDP,),,,..()XXXCC++OO

VC++.hC++

override

(static )

()

()

()()()

(,-,)

C++(schma)(IDL)

()()

(,)()()(),==+

,

,

C++OO,GP

()(metadesign,,metaprogram

,,()

Assert,Log,(,-)

1.stlportincludeVC6SDK

2.dx8dx9dxinput8.h

3.cppinc?hcpphinline,define

4.

5.

6.inc./,,\

7.link

8.disable warning stl

9..lib

10.macro redine_

11.#include

12.VS9VS8

,,Yake

Dll,exeimport lib,,,,,,libstatic lib

JAVA,C++,Java

C++

(),()

1(123.)212.3E1

E(1212),,,,,,,

,()

248(8)6-7

ADTprimate type,, BigDecimal

CPUFPU,

64single ,,,double,,,long int 32

23.45234523450.2345,,2345,23.452345*1/100,,23452345*1/1,0.2345,23.45....

2,

,,6-715,

0000NaN

C++,0false,0true,JAVAtruefalse

C++(00)if

booleaninttypedef 01

,,01

(if)

0011, 11,00, XOR1,0

,

101,001

,,

CPUOSJVM32,,,OPENGL(TYPEDEF)

CPUtype,

BYTESHORTINTLONG81632

CHARWORDDWORD

C++int2,"",6,[signed] int(:[],,,[signed] int=int,"int""",),6(1)[],[signed] int ,int,,6(2)[],unsigned int(unsigned[],),,,unsigned int,intunsigned------2:a.signed int(2)int,(modifier),[signed] int([signed] intint),[signed] intint,(3):[signed] short [int](4)unsigned short [int](5)[signed] long [int](6)unsigned long [int]

(,6),(C162"215"2"15,"",,(signedunsigned),,,2(,210,1620000000000001010,2,2),.

JavaunsighedsignedunsignedJVM

GameObject& rgo = *pa; // rgo GameObject

// Asteroid

=

dymic cast

rgogameobjectasteroid

rgoGameObject()______rgoGameObjrgogameobj

point to someobjref to someobj

refcount

RTTI

Cast,,cast voidfirst class

castRTTIrtti(JAVADB4ODB4O)

cast,

50(1,2Tobject,

.creat)

try

1 aObj := TObject(TBase.NewInstance);

2 aBObj := TBase(aObj.Creat);

1

Tbase.NewInstanceTObject.Newinstance,Tbase

NewInstance(initinstance

,VCL)

TObject,,

1aObj :=TObject,TBase

TObjectaObj

Tbase

(.creat),aObj,aBObj

Tobject,aobj...

TObject

tbase

tobject,tobject,tbase

tbase,

tbasetobject(tbasetobjecttobject

tbasetobject,tobjecttbase

,tbasetcommon)tobjecttbasetobjct,

tobjecttobject^^

tbasetobject,aobjtbase(tobject

tbase)tbasetobject(tobject)

,,

tbase.newinstance.newinstancetbasenewstance

aobj:=tobject() aobjaobjTbase(******)

tobjecttbase,,,aobj

tbasetobjecttbase

aobjtbase()

creataBobj()abobjtbase,,

aobjtbasetobject(aBObj := TBase(aObj);aboj

tbase,,aobjabobj)

abobj,abobjtbaseaobjabobj

53,

001,aobjtbuttontcompent

002.......

003,aobjabotton,,,tbotton,,,aobj001

virtual,,,()

(),

int var1;

int * var2 = new int;

var2=&var1;

var2,,var1(var1),var1(var1)

type*

int * var(var2)

var1int var1const int var1,var1(var1var1var1)

const

int var1;

const int * var2 = new int; (*var2const int,var2intvar2var1,,var1)

var2=&var1;

var2(var2)var2var2const int*,,,

const,,,var2const,,var2

1,2,

This(C++)

OverroadOverride,Virtual(Virtual)C++,

1virtual

2virtual

1,Window

()windowswindowsC++CUI**

data flow,,file map(),,,,

2,

3,type**

4,Handle

5,

BA

(A)new B

BA

a handle of A pointing

to a B,

forupdateupdata

case

(C++)

(0)

continebreakcontiune()break(break),,()

STL

,

C++

objects,,container,,

CC++class(),,funtion(),,int ,,double,

ID

C++,typenameclass

typenameclasstypename

typenameclass

()

()

STLSTLSTL

STLSTLSTL

STL

OOINT()

->

,,,value

RTTI

(/0)char*

new type[num]

==1=

char* myvar = iloveuchar[] myvar2=iloveu2()

11sizeof(type)

,alloca

mfc

SQLSQLServer.()()+(,SQLServer)

()()

()()()

,,

,,-E-R.

,,,()

,SQLtable,,,(varbinary,varchar,image)View(),()

WinFS

TB(T)

SQL(varbinary,varchar,image)

(),

, 123,().

,(SQL).

delphiOOOOOOODL!!

2002OQL,OO,

UDT,,class,typenameclassINT(INTADTADTINTbind)vectorclass(),,datatype

int a= int b,,, badatatypedatatypedatatypedatatype

OO

,RAMOO

Datatype

OO(),,OOOO,OO,,

(,javabeanbean),()(type safe)

OO,OO

ADT

,()

ADTADTADT

().()OO

,

()

(),

()()()()

()()(,)

OO

OO(jarclass)JAVAJAVA(--CC++C++first classjavasrc)

db4o,UMLDB4o

sqlembed

exe

OOOO()JAVADOTNETOOOOCCPUOSDOSWINDOWSOOOOOOOO1.JAVADOTNETOO - JAVADOTNETOOOO2.,,J2EE

,WEBWebWEBOS(NetWork OS,RMI,RPC,Corba,DCOM)

WEB().

DcomCorbaJava

Java.NETOOOSNative(JIT)JAVAC++(C++C#,JAVAJAVAJVM)

OO()FrontEndBackEndROSE,,YakeBaseGenericGeneric,nativeDLLLoggingYakeYAKEOGREODE(OO)YakeBaseGeneric,Yake,DLLYakeLogicGeneric(, ()()

(,)

)ROSEUML()()UML(,GameGeneric)

(,)

OOP

C++MFCVCLMFCC++STLC++STL

C++Vectorwrapper(OO)

OOPooidioms()()()OOPGeneric programe

Generic programe

STL-,

(stl)()

stl,stl,,container

(stlmfcOOPATL).net

Interface

(C++)(-),,

,(),,,,,

delphi,,,COMborlandIDE

()

()-

,()

,()

(),

,,

,

(),(compent view)(ROSElogic view)

,()

,()

(),

,,

develpoment view

()DLLLIB,DLL()

(Client),,(),,(Client)(JAVAActor)

()()

(),,,()

(),

()

,(Acotr)clientsclient(),

client

()()(),(),()()

()

Has-A()Is-A(~~)

Link-AIs-AB is a A,,BAAA.BA

()

client(,,)

Opencloseopencloseopencolseopen,close,,,

OO(,)

()(,)

()

()()(implentextend,,)

,

,fina,,C++CONST,

()

(hash)

(),(clientclient,)

(--),(New)(.

(-----)

client()()(),(client-)

(Client,ClientActor)

(),

Adapter

1,javainterface

2,

3,COM,

4,classprivate,API

5,

OO()

()(),

(--),(API,)(),,--(,,)

()

Demo(CONSOLE,),()

OO

()

OO

(UML)

()

(,)()..

(.Net,JAVAOO,,)

XPRUPROSE

OOOOObject(OO),OOClassObjects(CLASS--------)CLASSCLASS(,)

(MFC).

DOSrotuine(new,VOID**SOMEOBJ**,)

(,OO)

,(,case view,compent view,,logic view,lgoic view)

(),,deployment view

OOOOJAVA()

,,,,,MFCMFCMFCMFCstdafx.h(stdafx.hVCproject wizardwin32 app,win32 mfc app,win32 console..etc,project.settings,C++.precomplierheader)plugableDependencie,,includedxdx sdkinc

JAVAJAVAOO(JAVA,,.NET,JAVAOOOO)JFCJAVA Foundation ClassJAVAJFCSWTJDKJAVAJAVA

C++JAVAIO,stream flow,,,XML,,,,()

()

IOJAVAMVC()

JAVASDK,JAVA

Gang of Four

STLOOOO()

COM

DCOMRPC(,windowsservices.msc,)ole2(object link and embed),,,idl()(vcmidl)com,comTLSthread local storageCOMPEDLLswig(code generatecode complier)COM DLL,swig(,,wrapperswig)

COMPEDLLCC++CC++EXEDLLUSER32C++APICGDI32C++APIC++C++EXEDLLCOMC++API,COM,,PEDLLAPIWIN32APIEXEDLL.text,.data,.stack(OS)COM

VC SDKobjbase.hiUnknown,smart ptr,,,I#define ptr interface

DCOM

comole2,qureinterface()

cast,,,RTTI

RPC(marshalling)

DCOMOMGCORBASUNRMICORBAORB()

,,,void**,someobj**,com

CORBAorb,

COMDCOMC++(comidlC),,COMDCOM

DLLCOMDLL

COMDCOM

omgidl,java,c++

dcom,comwindowinprocdllCOMexe

COMCOM,

J2EE

,()

,Sun

()J2EE

Sun

XMLSunW3CXMLXMLWeb(XML)XML Native(XML-Enable DB)J2EEJMSJMX,XMLWrapper(WOWXML+Lua,XML) XML

J2EE,J2EEJ2EE

Sun,

SunMicrosoft

J2EE

SOA

SOA:(EJBMOM)wrapperEJBSOAEJBEJB

EJBJSPSERLET(Letapplet)

SOAWEBSOA

J2EE,J2SE(SOA)J2SEJ2EEEJBJ2EESUNSUNJ2EE

J2EEEJBJAXRPCRMI-IIOPJNDIJDBCJTAJTSJMSMOMSERLETJSPJAVA IDLJAVAMAILJCAJAXPJAAS

SUNAPI

1.df

2.

EJB

java beanejb

java beanejbbeanejbtraitsbean(),,APIbeanvb(interceptingget,set)

j2ee,,

message driver-bean(jms)bean,,Callback,,

jmsjxta(Jxta,jms)jmscharacters

j2eeBMP(Bean)Bean manager peresit,,,CMP,,container manager peresit,POJO(plain old java objects),XML jax-rmi

B2BB2CJMSJDBC

EJBbeanbean

1.

2.

3.Reserve C++

4.C

5.

6.C++

7.Head first

8.J2EE

1.()

2.

3.,

W

XP,RUP,,,

Gang Of Four

J2EE Core DPs

CPU

()

(SQL,XML,OODBMS)

(DirectX,OpenGL)

()

OS(,GUI,)

(Sock,P2P,Web)

(,,STL,GP)

(DotNet,Java)

:()

VRGeneric

InnerWorldLogicGeneric(Logic)

Outter,InnerWorldWorld

OutterWorldShowGeneric(Yake)

WorldLogicGeneric

1,

Envirment

1,

2,

3,

Society

1,

2,NPC

3,

GameSystem

1,:PK,

2,NPC:

3,

4,NPC

Playable(Actor,Stage)

App,Client,Server

GameGeneric

VRGeneric

GameGeneric(FaceUserDevelopeGeneric,AboveGameExtendGeneric)

GameGeneric(LuaBind),1,2

NotWar3.lua

1,ServerSideGeneric(Lua)

2,ClientSideGeneric(Lua)

3,AsPeerSideGeneric(Lua)

Yake

ScriptLvlExtendGeneric

GameGeneric(LuaBindFaceUserDevelopeGenericAboveGameExtendGeneric),1,2

GameGeneric

NotWar3.lua

1,ServerSideGeneric(Lua)

2,ClientSideGeneric(Lua)

3,AsPeerSideGeneric(Lua)

Yake

NotWar3.Lua

PeerSideGeneric

ServerSideGeneric

ClientSideGeneric

ScriptLvlExtendGenericLuaBindGameGeneric

Show

Show

Logic()

Logic()

Show

Logic()

Generic

Generic

Generic()

Genric=Show+Logic,Genric

NotWar3

Empty Logic

Extend(Yake:LuaBind,Script)

GameShow(Yake:InputOis,Net,)

Empty Logic

VR Logic(Gvwl)

VR Show(Yake:

:AudioWorld,Pysical,Graphi)

(Yake Base or its Better Edtion)

1,2,3, 4,

ADT

,

()

()

1,,

2,,OO

()

1,()

2,()

3,(,)

4,

B

A

C

GP

OO

MetaData(STL,XML)

ADT

REG,

MetaDesign(,,UML)

ClASS

()

()()

OO(,,)

Etc

()

()

()

Rose

1.A

2.B

3.

PAGE

17