ÿþV . K o d w y n i k o w y 8 3
V . K o d w y n i k o w y
N i n i e j s z y r o z d z i a B r ó |n i s i t r o c h o d r e s z t y k s i |k i . R o z w a |a n i a w n i m z a w a r t e
" l e | n a n i |s z y m p o z i o m i e a b s t r a k c j i " , n i e d o t y c z b o w i e m s k Ba d n i a n i b i b l i o t e k
j z y k a C l e c z p r o c e s u p o w s t a w a n i a p r o g r a m u w y n i k o w e g o i s p o s o b ó w i n g e r e n c j i
w t e n p r o c e s . P o d c z a s g d y w p o z o s t a By c h r o z d z i a Ba c h s t a r a Be m s i o p i s y w a j z y k
C w s p o s ó b n i e z a l e |n y z a r ó w n o o d k o m p i l a t o r a j a k i s p r z t u , t e n r o z d z i a B b d z i e
d o t y c z y B t y l k o k o m p u t e r ó w k o m p a t y b i l n y c h z I B M P C , p r a c u j c y c h p o d n a d z o -
r e m s y s t e m u D O S .
K a |d y , k t o z e t k n B s i z j z y k i e m C , z a s t a n a w i a B s i z a p e w n e , d l a c z e g o n a j -
p r o s t s z y p r o g r a m :
m a i n ( )
{ }
d a j e t a k d u |y k o d w y n i k o w y . O t ó | d z i e j e s i t a k n i e d l a t e g o , |e k o m p i l a t o r y C
d a j b a r d z o n i e o p t y m a l n y k o d , t y l k o d l a t e g o , |e b a r d z o p o w a |n i e t r a k t u j k a |d y
p r o g r a m . W w y n i k u t a k i e g o p o w a |n e g o p o d e j [c i a , d o k a |d e g o p r o g r a m u d o Bc z a -
n y j e s t s p o r y f r a g m e n t k o d u ( w d a l s z e j c z [c i r o z d z i a Bu b d o k r e [l a B g o m i a n e m
S t a r t u p ) , k t ó r y p o p i e r w s z e p r z y g o t o w u j e p e w n e d a n e d l a p r o g r a m u g Bó w n e g o
a p o d r u g i e r o b i w s z y s t k o c o m o |l i w e , |e b y z a b e z p i e c z y s y s t e m p r z e d z m i a n a m i
j a k i e m o |e p o c z y n i p r o g r a m . S t a r t u p z a c h o w u j e s z e r e g i n f o r m a c j i o s t a n i e s y s t e -
m u w c h w i l i u r u c h o m i e n i a p r o g r a m u : a d r e s z m i e n n y c h [r o d o w i s k o w y c h , w e r s j
D O S - u , w e k t o r y n i e k t ó r y c h p r z e r w a D, i t p . K o l e j n w y k o n y w a n c z y n n o [c i j e s t
p r z y g o t o w a n i e p e w n y c h d a n y c h i f u n k c j i w y k o r z y s t y w a n y c h p r z e z p r o g r a m
g Bó w n y . I n s t a l o w a n a j e s t n a p r z y k Ba d s t a n d a r d o w a f u n k c j a o b s Bu g i b Bd u d z i e l e n i a
p r z e z z e r o , f u n k c j e a r y t m e t y k i z m i e n n o p r z e c i n k o w e j , z a p a m i t y w a n a j e s t w a r t o [
z e g a r a B I O S - u w c e l u e w e n t u a l n e g o u |y c i a p r z e z f u n k c j c l o c k .
J e d n z w a |n i e j s z y c h f u n k c j i w y k o n y w a n y c h p r z e z S t a r t u p j e s t p r z y g o t o w a n i e
a r g u m e n t ó w d l a f u n k c j i m a i n . F u n k c j a t a m o |e m i e t r z y a r g u m e n t y :
m a i n ( i n t a r g c , c h a r * a r g v [ ] , c h a r * e n v p [ ] )
O c z y w i [c i e , n i e k a |d y p r o g r a m m u s i u |y w a a r g u m e n t ó w , a n i e k a |d y , k t ó r y i c h
u |y w a , m u s i u |y w a w s z y s t k i c h . P o p r a w n e s r ó w n i e | n a s t p u j c e n a g Bó w k i
f u n k c j i m a i n :
m a i n ( )
m a i n ( i n t a r g c )
m a i n ( i n t a r g c , c h a r * a r g v [ ] )
W p i e r w s z y m a r g u m e n c i e , o z n a c z o n y m t u t a j a r g c , S t a r t u p p r z e k a z u j e d o p r o g r a -
m u g Bó w n e g o l i c z b a r g u m e n t ó w w w i e r s z u w y w o Ba n i a p r o g r a m u p l u s j e d e n .
D r u g i a r g u m e n t , o z n a c z o n y a r g v , j e s t w s k a zn i k i e m d o t a b l i c y w s k a zn i k ó w w s k a -
z u j c y c h k o l e j n e a r g u m e n t y w y w o Ba n i a . N a p r z y k Ba d , j e |e l i p r o g r a m z o s t a B w y -
w o Ba n y w n a s t p u j c y s p o s ó b :
8 4 W g Bb j z y k a C
p r o g r a m - u b o o k a : \ * . c b : \ * . c
t o a r g u m e n t y f u n k c j i m a i n b d m i a By n a s t p u j c e w a r t o [c i :
a r g c = 5
a r g v [ 0 ] = " p r o g r a m " / * D O S 3 . 0 i w y z s z e * /
a r g v [ 1 ] = " - u "
a r g v [ 2 ] = " b o o k "
a r g v [ 3 ] = " a : \ * . c "
a r g v [ 4 ] = " b : \ * . c "
O s t a t n i a r g u m e n t f u n k c j i m a i n , o z n a c z o n y e n v p , j e s t w s k a zn i k i e m d o t a b l i c y
w s k a zn i k ó w d o z m i e n n y c h [r o d o w i s k o w y c h . O s t a t n i m e l e m e n t e m t a b l i c y j e s t
w s k a z a n i e p u s t e N U L L .
P o n i |s z y p r o g r a m u |y w a t r z e c i e g o a r g u m e n t u f u n k c j i m a i n , d o w y p i s y w a n i a
w a r t o [c i z m i e n n y c h [r o d o w i s k o w y c h w c h w i l i u r u c h o m i e n i a p r o g r a m u .
# i n c l u d e <