.


:




:

































 

 

 

 


assert ()




1. , , . ,

{ assert (pointer! = NULL)}

Assertion 'pointer! = (Void *)O)'failed

, , :

Segmentation fault (core dumped)

2. . , , foo , :

assert (foo> 0);

, , , .

 

3. assert () , . , , . assert () .

 

# include <assert.h>

# include <stdio.h>

char * string = "" / * * /

int value = 1;

 

main ()

{assert(value> 0);

printf (" assert (value> 0) \ n ");

assert (* string! = '0');}

 

5.

, funct () .

1. 1 -1 - . , assert (). .

2. 1 , 10, - -1. , assert (). , 10 .

3. . , assert (). 5, .

4. N, N - . assert () . 5, .

5. N, N - . N . . assert () . . ϳ , 5 .

6. . , assert (). , .

7. . , assert (). , .

8. , 1 , -1 - . , assert (). , .

5 API.

: 㳺 API UNIX. .

 

:

:

− UNIX;

− UNIX;

− UNIX;

− UNIX.

 

1

' ( ), .

,

− ;

− [], ;

− " / ", / , . , , .

 

.

UNIX . ' .

, . , , .

. . , .

- , . UNIX : , , raw blocks ( ) / . .

- , . PIPE - , . - 10 . , . , .

- , .

(symbolic link) - , .

 

UNIX :

'. ', (/), ' . .

³ '. ', (/), . .

() '. ', (/). .

 

, , UNIX ( ). , . .

UNIX . , , ( ).

, , UNIX . . , , .

2.

UNIX , , 䳺 . , 12 . , ( 1) ( 0) .

. ' , , . , .

 

ls-l

r - : ( ls).

w - : . - , .

x - , . , ( cd).

S - SUID , ( ) , , ( ).

S - SGID , ( ) -, , ( ).

SGID , , ' , .

t - . :

− - ;

− - ;

− ; root.

 

3. /

UNIX / :

1. , , .

2. / , / .

 

"" , .

 

- . :

− ( / ) ( ) , ',

− , ,

− ; , .

 

, ' , ; , . , , . .

 

2 :

1. , . - ѳ- - .

2. :

− ;

− ', , ;

− ' ;

− ', ( , - );

− ;

− ;

− - ѳ- ;

− ' ;

− ;

− .

 

4.

Unix ( ).

 

, :

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

 

.

 

³

int open(const char *path, int flags, mode_t mode);

 

' , , .

 

flags :

O_RDONLY - ;

O_WRONLY - ;

O_RDWR - .

 

:

O_APPEND - ;

O_CREAT - , ;

O_TRUNC - , ,

0;

O_EXCL - O_CREAT,

,

, .

 

mode . ³ ', O_CREAT, . :

 

0400 - , ;

0200 - , ;

0100 - , ;

0040 - , ;

0020 - , ;

0010 - , ;

0004 - ;

0002 - ;

0001 - .

 

POSIX ֳ ( stat):

S_Ipwww, p (R, w X), a www (USR, GRP OTH).

, 755 :

S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH

 

USR, GRP OTH, . S_IRWXw. w , ( , whom - ) - U, G . , :

S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH

 

, .

 

mode O_CREAT, .

 

mode umask, - mode & umask.

 

( umask) umask. : , .

ϳ .

 





:


: 2015-09-20; !; : 430 |


:

:

, .
==> ...

1712 - | 1492 -


© 2015-2024 lektsii.org - -

: 0.041 .