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. : , .
ϳ .