Академический Документы
Профессиональный Документы
Культура Документы
26.03.2009
.
++ 64 . , ,
.
++.
64- . 32- (
) ,
. ,
(2 ).
, ,
, 64-
.
. , .
++, . ,
.
(, 32 64) , ,
, .
.
, , .
,
64- . ,
. ,
. .
, -
, .
++ . ,
, [1],
. -
.
, ,
++. 1.
ptrdiff_t
(32
)
32
(64
)
64
size_t
32
64
,
.
.
,
-1 .
.
sizeof().
.
,
.
intptr_t, uintptr_t,
32
64
SIZE_T, SSIZE_T,
INT_PTR,
DWORD_PTR
N1. .
, .
64- 64 , 32- - 32 .
"memsize-":
: memsize- ,
32- 64-. , 1, memsize.
, ( 64
), memsize-.
, .
"" ( )
. 64 "" .
. "" ,
- . , ,
32 (4 ).
.
!"#!"$!"
$ %
&&&
% '(!"#!"$!"
,
-(.!* /-0
% (
,'/
, "ptr + (A + B)":
? ++ A int unsigned.
? A B. 0xFFFFFFFF unsigned.
"ptr + 0xFFFFFFFFu",
. 32-
, "ptr - 1" 3.
64- 0xFFFFFFFFu,
.
.
!
"
memsize- memsize-
64-
. :
6 (+ 7
2 8(89( 6 ''8
.&&&0
#
#$
#
,
, 32- . ,
size_t, -
unsigned. , 64- .
,
:
$6: %%.
&&&
0
0
64- .
, ,
.
.
, (. [1]), ,
.
%
#
- , ,
:
1.? .
.
2.? .
. , , ++.
, , ,
.
3.? .
,
. , .
,
, .
[2] ,
:
, "" . -
, - . , ,
.
, .
, ,
.
#
,
:
1.? ] . ]
. .
2.? ] . ] - ;
.
3.? ] () . ]
, : ""
, [3].
(
).
4.? . ,
64- .
[4] ( 2),
, (front-end
compiler).
(back-end compiler)
.
,
, .
&#
,
.
,
. , ,
. 3 ,
.
!"
#
$
%&'
,
- "" .
.
2343#
0
4 - ( )
()
, -
.
++ , ,
, .
&#
. , ++
. ,
(, ..), ++ , ,
.
.
, .
. ++
, . 6
, .
$2 $ #8
.
(*
2#(/&
$2 $'#
0
6 - ( ).
(a+b),
( 7).
*)
+
.
!
M ,
.
[2]:
? - , ;
? - ,
;
? - ,
.
,
.
, , -, , , -,
.
,
.
,
, .
, , , .
'
:
? (front end compiler);
? .
++ OpenC++ [6], VivaCore [7].
,
( ) .
++
YACC Bison.
,
3.4, .
++.
, ++. 1
memsize-, ( 1).
(memsize). ,
, 64- ,
(, ptrdiff_t, size_t, void* .) .
,
- [5]. ,
, .
.
,
( 1.4) :
<M_ _> > <virtual> <M_> CheckVirtual()
CheckVirtual() - -. CheckVirtual() ,
. CheckVirtual()
.
++, [1],
-. -
, , -
.
'
#
Viva64 [8]. Viva64 - ,
++.
64-
.
(
)
- , :
? (front end compiler);
? .
,
.
, ,
. ,
64- . 64-
.
VivaCore [7] 64-
[1] Viva64 [8].
"
1.? . 20 ++ - 64- // RSDN Magazine #12007.
2.? ., ., .. : , . : .
. - ].: "", 2003. - 768 .: . - . . .
3.? .., M ]... . ].:
, 2001. - 224 .
4.? .. ++.
- .
], 1999.
5.? . / . ., .
. ; ]. . - . ]. . , . . , 62 . 21
, 2- ., . . ]. -]M 1999.
6.? OpenC++ (C++ frontend library). http://opencxx.sourceforge.net/.
7.? VivaCore Library. http://www.viva64.com/ru/vivacore-library/.
8.? Viva64 Tool. http://www.viva64.com/ru/viva64-tool/.