Professional Documents
Culture Documents
Advanced C
Advanced C
àP
à
6
6
î
î
î
î
à
6
P
!1+(("(2
1
3
%
6
6
6
î 7
"
î "
#
0 1J0/0312" .*à
î 7 ""
9
"
î :
HD<
î
7 7
799"
7:
6
6
5
6 2
î ;Q #
î :
#
î :"
î 6 "
î K
"
î &
î ;7 P"R S
6
6
7
î 4
"
Q
T "
"
î 58
2 8
î 5 8
" 8
î 9
î 5 T
"2
î 582
î 5
8" 8
6
6
î
î 9 #
î 9
#
î K
î
î Q
î KQ
$:
"
î 2
î 4 "
6
6
î (
#
8 P6
î 5 " "
F 5" "
î "
<
F 7 Q
î T T
î ;""
î
F $: T
F
F $:
6
(
#
8
6
î & (
<
F
F ; T
F E
î
<
F :
î U
î <
F
F
F
" " "
î <
î V
#
î :
"
6
6
(
#
8
6
î
<
F D
î
î <
F
" # "
î
0 "
î :
î %< "
F
"
F ; T " !
F : <
" #
î 5< "
"
P
î : 5 "B2"
î
î
#2
î 5
" " "
î M W X
î
9:-;
î 5
î $
"
à
î
K E"
D"L
ࣤ Characters: H e l l o , w o r l d !
ࣤ Hex values: 48 65 6C 6C 6F 2C 20 77 6F 71 6C 64 21 00
ࣤ Subscripts: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P
5
P
4
"
"799 <
!
"
"
"
799 <
!
!
"
799 <
!
P
5
P
4
5
7
"799 <
!
! '
" #
" #
("
2 <
!
7
" #
" #
(" 2 <
!
! '
P
5
P
4
5
"
"
"
<
Z
[
\
]
±0 "
P"
î $óó
î
"
î 5
à " "W^ K 7W
^ KX
î '"+<
î $ :
'01
î I
î NYY
î
à
±
±4 2#
+
î 4
0
~ ~ 0
î 7
0 2
&PH(+I&P+(
.
2:
2:
2:
0
2:
2:
2@
2G
2-
2- 3
î
!
&PH(+I&P+(6+6"()0
2
î
&PH(+I&P+(
%
&PH(+I&P+(
&PH(+I&P+(6+6"()
±
î
<
!J&
J!
GàX3 G@
GàX3 G@
GàX 3K6 &@!J "
J!
LGàX@!J
J!
GàXG
=!J GàXG
J!
GàXG
C
2#
î I
D"
î
±
î E
#
'-à.*à
î :
î
"
î
;<
î JG3 J
& :VGK6U :6KGE6E$KN@!J
J!
GG3G 212222222XX.'@
î 5
©"
5
:<
@
3+_,@
3
@
î +
î <
3'2@
@
3
@
C
I (
01 I (
.'1
*22_ *22+ ,22- ,22, ,22_ ,22+
#
î $
î : 3
3
î *22_ ,22-
î D
î J*22_
*22_ *22+
î :J,22- ,22-"
,22,",22_ ,22+
î E
T
9
T
#
4
(
#
î
"
" "
î D"
î 6<
=
J@
J
@
3
@
RB AS"@
C
J
=
3*2@
@
C
#
#
î 5
î "
î ;<
î 30"
î J3 @
î //@
î $ .*à "
î J 0
#
î I//@ .*à1à
î : 1à"J
î %
"
5
#
#
5
N
î 4H
=
J
J@
3*.0"J(@
(3 @
RB (
3AS"(@
(3
@
RB (
3AS"(@
C
J
J
=
3/'@
@
C
#
#
5
N
î $
î
%->G@
î
%--C=
î "(
(
(3
"
(
4
8
01+_4 002*
'
1 "
1
002*
#
#
5
N
î #
0 !
0
4
!
%>!6!
6%L
6%6,:
6%6,G
%6,?
P
4
!
%>!6!
6%L
6%6M=
6%6M-
%6MD
0
N
0
0
0
6
0
0
#
î 4H
=
>?3='2"*2".2"12"02C@
8@
832@8W0@8//
=
RB AS"J@
//@
C
C
#
î $
î +
2
î 4
"
"
"//: 5
"
//
"5 T
"
T :
//"
a9(T
//
#
î 4H
=
>?3='.*1"'0"'0"01".0C@
;J8"J@
83@
3/1@
838J*@
3!*@
RB A
A
S"J8"J@
C
#
î $
î +
2&
î 8 "
"8
"
>? 8
@
1
E
D
#
#
î :
î &
<
î J G@
î I
HN
"
<
î
AB
"J G::7@
î ::7 GE
L H$
"#L<
î
"
<àX
<
î
AB
" GàX::7@
î
J G
H' N
#
5
0
2
î #
F K"
à :"
"
<
=
J@
J3*@
C
"*" @
" #"
$
"
#
#
5
0
5
N
î
8"
F 5
"G
<
G J
=
A
" @
C
8 4
" " "7$
#
5
0
5
N
î 5
G
=
@
G
J@!J J!C
G
!JJJ!
=
C
î
YY
YY
" ààà "
4
#
î ; % ""
6<
J*; "
"
@
^^
& "
"
=
& B S@
//@
C
&E "
"
=
&EB
@
à/@
C
*; 3&E@^^
*; 3 & @^^
4
#
î 5
4
#
à33
^^
*; 33 &
%
& B @
J
Èeturn_A_Function_Pointer()
{
a
a
a !a ^^
"# $%^^
a
!&'^^
a
"# ('^^
a
!&''^^
}
;
4
#
î
4
#
^^
a
(*pt2Function)(a , , );
^^
p
Array_Of_Function_Pointers()
{
printf("Executing Array_Of_Function_Pointers\nࣞ);
^^ !
^^
pt2Function funcArr[10]; ^^
"
# "$%"
"$&
"
'
^^
'(
#)
funcArr[0] = &DoIt;
funcArr[1] = &DoMore; ^*
*^
^^
printf(funcArr[1](12, 'a', 'b')ࣟ\nࣟ);
printf(funcArr[0](12, 'a', 'b')ࣟ\nࣟ);
}
î
î
8
"
î 9"
"
î 7 "
"
F ; " 8
8
F " "
"
î 9 <
F
î 5
8
F
î 9
F 4
!
!
!
!
!
F 7
!
0
0
0
!
!
F &9
î 9
P
î :
8
î 5 " YY
î
î :
"
î :
"
P
î "
8
" <
F G
'
*
î :
î
' "à
P
î :
î 4 "
î 6
YY
î
YY"
"YY"
"
à5 YY
P
î
à(
@
à(
YY
î !!! .
à(
î :
î U7
!!!
î 4
& 9H
"
L
P
î
)
%
gcc -fPIC -c objfile1.c
gcc -fPIC -c objfile2.c
gcc -fPIC -c objfile3.c
gcc -shared -o libmylib.so objfile1.o objfile2.o objfile3.o
î *+,
+
,
î *
*
î - %
P
î
ࣤ gcc -o foo -L. -lmylib foo.o
î
. %
%
%
/
î !
0#1
î & &9
"
î
"
î # #
#
LD_LIBÈAÈ _PATH
î
%echo
$LD_LIBÈAÈ _PATH 2
î ,
&%
*
3
%setenv
% export %%
î ,
434,$5.5!+. -
%#
%
1
î ;<
î 9&G9 IK KNG% D
!!!<)=9&G9 IK KNG% DC
î
!
9&G9 IK KNG% D
î
"8
<
î <
î
9&G9 IK KNG% D3!!!<)=9&G9 IK KNG% DC
î "
< <
9&G9 IK KNG% D
î
"
!!!
9&G9 IK KNG% D """
6
(
î
E0 0
"
8
84
"
I 5
8<
î + 6
82 88
2 88"8""!9
<BB
82
FF
82
FF
î
"
8" 8" 8
E
#
6
6
27
±
î R2S
î
R
S;" <
82 88
î 8 8 8
E8
8 8
0 8"E
8à
à
6
6
6 #
(
î
E
<
8< 88
î R 8 8
8S <
8<
î R
8S
N
8" 8
7 8 8"
8
î 5
:
¦
"
¦
6
6
î
4
<
8< ¦ 8<
8<¦ 8<
î <
88<
î 7
8 8
6
(
<
82 88
2 88"8""!9
<BB
82
FF
82
FF
88<
6
6
P
2 0 ±
9 ;
î
: E;<
8< 88
2 88"8""!9
<BB
î E 8(
8 8
88 8
î ; "2à8
!9
<BB
à
8
<BB
î "
"
<
8< 88
9 8
2 88"8""!9
<BBX
î
E
"
6
6
î
"E
I " 2#
à#
M
E
<
$%:E V6<: :
î
:
à#
E M
%
E ;<
8< 88
F 2 88"8""!9
<BB
î RFS
E
à#E<
$%:E V6<:
6
6
6
î
<
8< 88
2 88"8""!9
<BB
8<
FF
8<
FF
88<
î 4R 88S
"
6
6
î
" (
R%S"
"
) )= C
" )P")P
)=PC R
PS
6
6
î D
<
$I`:3 88
E$&693
553
5;9 U:3F)E$&69
8<)$I`:
2)E$&69)$I`:"8"")E$&69!9
<BB
8<
)55)5;9 U:F
8<)55)5;9 U:F
)$I`:<
î
$I`:
8
E$&69"55 5;9 U:
"
5
î E "
% D
)% D
6
6
6
5
î E
E ;<
5;9 U:3F
î E
5;9 U:RF
SE
î
à "
( <
5;9 U:3àà#à
(
M 6
î E
"(I+
"
P"(5+
P"(5+P
6
6
î à <
$I`:3 88
553
E$&693
5;9 U:3F)E$&69
8<)$I`:
2)E$&69)$I`:") KU6"")E$&69
!9
<BB
8<
)55)5;9 U:F):$K56
8<
)55)5;9 U:F):$K56
)$I`:<
î "
8 8
àK à
#
6
6
6
6
î E
#4
;
"
$I`: <
:K5:3)$I`:"83
î R 3 S
$I`:
):K5:R S "
<
) " >" ?
î 6
6
4
5
î
;
"
<
:K5:3<BB
6
6
î :
<
6
!
+
&" ):K5:"& <B
6"
):K5:"6
;"
):K5:";
î
R4 S
"
"
( "
( RB S
;<
)$I`:"4/B 8/
8
"
6
î $
<RbS
"R95S
"R5S"RES R7S à
RES R7S
R:S
à :%
6
6
&
(
î
#
" 5
8
8
K
( 8
à
"
E
î
RAS
RAS
"
# "
8
<
A8<A
)55)5;9 U:F):$K56
î 8
R)55)5;9 U: F ):$K56S
8
î 4
"
<
8<
)55)5;9 U:F):$K56
6
6
î
$E
%
î E
RA8<AS
<
$I`:3 88
553
E$&693
5;9 U:3F)E$&69
8<)$I`:
2)E$&69)$I`:") KU6"")E$&69
!9
<BB
)$I`:<
6
6
(
4
î ;E:à&$:"$:!* 4 +0
î à
$E
<
"E
@
"
à
(
4
î E
"
" E
4E
8
<
K6:%$7:69 7V<
î E 9 7Và
4 "E
6
6
&
(
4
î K
R S
D
"
<
8<)$I`:
bWW
2)E$&69):$K56:"4/B
) KU6
)E$&69!9
<BB
WW
î R b S
ER4/B S
):$K56:
R/ S <
2 8/
8
8
2!
<BB
6
6
6
î E
ED
A
"A
"A
A
I E
5
<
M
8 %K$`
M
%K$`38M
8
$I`:3 88M
8
M5à
M
A
)5533M
5;9 U:3F)E$&69M)5;9 U:F
9&: K32)E$&69Mà8
9&9 I:3)E$&69M
9&;9 U:3!9
<BBM
<BB
6
6
A
)5533M
5;9 U:3F )E$&69"5M)5;9 U:F :
9&: K3M à
9&9 I:3M
9&;9 U:3!9
<B-B@M
<B-B
A M
A 5533)55M
A
M
M8
M)%K$`<)$I`:
)9&: K)$I`:") KU6"")9&9 I:)9&;9 U:
)$I`:<
î
Q
"
î AE
& "
E
6
î N E
î N E
"
"
("
"
(
î N
E
")8
î 9
<
GG!BGG
! B
GG!GG GGBGG
! B ! B
GG!GG GG!GG
! B !B
W X8
6
î 9" E
8<
î M:"6" "9&
75938
:K53
$I`3):K5<3
9 I:3à
6P63
M5"9 &
553!! !
5;9 U:3à à à4à$*
9 I% D3à9
9&;9 U:3à)6P6)9 I% D)9 I:
5;&6IU3à à à4àà&&6IU)9&;9 U:
KE3! !à
6
M5 5:; $8;
A<A
)55à)5;9 U:)J
M9 $8; 9 I
)6P6<)$I`
)55)9&;9 U:)$I`
M$8 9
)$I`<) 759
M5!56&6IU
<
)55)5;&6IU):K5
M5 $8"6"&
<
)KE)$I`)6P6
6
5
P&IP+I$P&I±P$
î 4
4
"
4 "
"
D"
"
"
"
:6U^
: U:6U^"
:
à
"
6
5
î
I
"
2
:6U^
799
799 GG
2
î 4I:: UI: H
à ; "
" 1
1
5% "
I:
Ià
"
"
:6U^
î 4 (<
' 7 à
* U7
.
î N M
&6IU
M
;<
î M
&6IU
î %K 7;
^5 5 <A"A
"AB
"J"J
>'?"
@
î M
î N
&6IU
à&&6IU
î ' 2
&%K 7;" M
M
L
î
: ;
5&
î ; à 0
# à$*
î $ " WXWX
î 7
;
<.,- .,-
î N
( à "
;< 1à&L1"à"
&L
î
à
K
"
'"+2 &
¦
N
N
î N
î
"
;< àX
î N ;<
àX31*
î
î
;" '
"
"
'
î
î
î N
î ;
"
î à
:J7 P
î K 7
î
"à
" à
î K
"
î K