Solaris Express Developer Edition ????????? ??????

Developer 9/07 ??????????????? uid_t ??? gid_t ????????? ?????? ?????? ??????

?????? ?????? ???????????? ???????????? ??????????????? ?????? uid_t ??? gid_t ????????? long(32?????? ????????????) ??? int(64?????? ????????????)?????? uint32_t ???????????? ?????????????????????. ??? ????????? ?????? ????????? ????????? Solaris Express Developer Edition ????????? ????????? uid_t ??? gid_t ?????? ?????? ????????? ??????????????????.

??? ???????????? ?????? ????????? ????????? ????????????.

?????? ???????????? C ???????????? ??????

????????? ?????? ???????????? ??? ?????? ?????? ????????? uid_t ??? gid_t ????????? ?????? ???????????? ?????? ???????????? ????????? ???????????? ?????????.

????????? ?????? ?????? ????????? ????????? ???????????????.


1 #include <unistd.h>
2 #include <stdlib.h>
3 #include <stdio.h>
4
5 int
6 main(void)
7 {
8 uid_t negone = -1;
9
10 if (getuid() < 0)
11 exit(1);
12
13 (void) setreuid(negone, getuid());
14
15 (void) printf("%ld\n", getuid());
16
17 return (0);
18 }

??? –

?????? ???????????? C ??????????????? ?????? ?????? ??? ????????? ????????? ????????? ??? ????????????. ????????? ????????? ???????????? ????????????.


C++ ?????? ??????

uid_t ??? gid_t ????????? ?????? ???????????? ?????? C++ ?????? ??? ????????? ???????????? ?????? ?????? ?????????(name mangling) ????????? ???????????????.

C ????????????????????? ??????????????? C++ ???????????? ??? ?????????????????? ???????????? ?????? ???????????? ???????????????. ????????? ?????????????????? uid_t ??? gid_t ??? ???????????? ?????????????????? ???????????? ?????? ????????? ???????????????. ??? ??????, ????????? ?????????????????? ???????????? ?????? ?????????????????? ?????????????????? ???????????? ?????? ??????????????? ????????? ?????? ??????????????? ?????????.

Solaris OS??? ??? ????????? C++ ?????????????????? ???????????? ?????? ????????? Solaris ????????????????????? ??????????????? ???????????? ????????????.