본문 바로가기

전체 글

(1142)
typedef 된 자료형들 typedef 된자료형 C언어의 자료형 BOOL int BYTE unsigned char WORD unsigned short UINT unsigned int LONG unsigned long WPARAM unsigned int LPARAM unsigned long LRESULT unsigned long COLORREF unsigned long LPCTSTR const char * LPCOLORREF(COLORREF *) unsigned long * LPPOINT POINT* LPRECT RECT* LPWORD(WORD*) unsigned short* LPMSG NSG* 아놔,.UINT 가 먼가 했네..-_- 이렇게 define 되어있구나... 맨날 MFC쓰면서 이걸 이제 알았네
getuid() 1 사용법 #include #include uid_t getuid(void); uid_t geteuid(void); 2 설명getuid()는 현재 프로세스의 실제 유저 아이디를 얻어온다. geteuid()는 현재 프로세스의 유효 유저 아이디(effective user ID)를 언어온다. 실제 유저 아이디는 프로세스를 호출한 유저의 아이디이다. 유효 유저 아이디는 실행된 파일에 설졍된 SID를 가지는 아이디이다. 3 반환값유저의 ID를 되돌려준다. 4 에러이 함수들은 언제나 성공한다. 에러 없음~ 5 예제 #include #include #include #include #include int main(){ struct passwd *lpwd; printf("UID : %d\n",getuid()); prin..
access() 1 사용법 #include int access(const char *pathname, int mode); 2 설명 access 파일의 사용자 권한을 체크한다. 첫 번째 인자는 파일이나 디렉토리의 전체 이름이며, 두 번째 인자는 체크할 내용을 지정하게 된다. 만일 경로명이 심볼릭링크라면 링크 테스트로 원본 파일을 체크하게 된다. mode 는 하나이상의 R_OK , W_OK , X_OK and F_OK로 구성된 허상(mask) 이다. R_OK, W_OK and X_OK 는 각각 파일의 존재, 읽기, 쓰기, 실행권한 체크를 요구한다. F_OK는 단지 파일의 존재유무의 체크만을 요구한다. 테스트는 파일이 위치하고 있는 디렉토리의 권한에 의존하고, 디렉토리와 심 볼릭 링크 파일도 같은 이치이다. 커널에의해 실행될..
unlink() 1 함수 원형 #include int unlink(const char *pathname); 2 동작 unlink 는 파일 시스템에서 pathname 이름을 가진 파일을 지운다. 만약 지우려는 파일이 파일에 대한 가장최근연결(링크가 오직 하나라면) 이며, 다른 어떠한 프로세스도 이 파일을 열고 있지 않다면, 파일은 지워지고, 파일이 사용한 공간은 사용가능하도록 파일시스템에 되돌려준다. 만약 지우려는 파일의 가장 최근 연결된 파일이지만, 이 파일을 다른 프로세스가 열고 있다면, 다른 프로세스가 이 파일을 닫을때까지 파일은 존재한체로 남게 되다. 만약 pathname이 심볼릭 링크파일이라면 연결은 제거된다. 3 return 성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다. 4..
태그 연습장 태그연습장 여기에서 연습하세요... 모양이 왜케 찌그러진다니...6시간동안 태그 공부한거치곤...잘한거지뭐..쓰다듬어주야지....
Race Condition Study on Race Condition---------------- 1. 머리말 유닉스는 멀티 유저를 지향한 매우 훌륭한 시스템이다. 여러 사람으로 하여금 정보를 공유할 수 있도록 잘 만들어져 있다. 그러면, 개인의 Privacy는 어떤 식으로 유지가 되는 것일까? 그것은 Permission, 그리고 password 등으로 가능하도록 구현해 놓았다. 그리고, 시스템 관리를 위해서 Root라는 superuser를 두어서 어떤 일이든 가능한 위치에 놓았다. 초기에 유닉스가 나타난 당시, 사용하는 유저가 그리 많지 않았고, 또한 흑심을 품은 해커도 별로 나타나지 않았으므로, 보안에 관한 관심이 별로 없었다. 그러나, 요즈음의 경우 사용자 편의를 위해 짜여진 프로그램이 거꾸로 시스템을 공격하는 무기고가 되고..
fork() 함수에 대해서.. Race Condition 문서를 읽으면 어김없이 나올수 밖에 없는 함수. 헤더 unistd.h 형태 pid_t fork(void); 반환 pid_t 실행에 실패하면 -1 을 반환. 부모에게는 새로 생성된 자식 프로세스 PID가 반환 되며, 자식 프로세스에는 0이 반환됩니다. fork()함수에 의해서 생성된 프로세서는 부모의 모든 값을 그대로 이어 받지만 프로세서 아이 디만이 틀릴뿐이다. fork()함수는 0으로 자식프로세서에게 아이디를 부여한다. 그러면 첫번째 자식 프로세서는 0이면 두번째 자식은 몇이 올것인가? 라는 문제의 식이다. 간단하게 프로그램을 짜보면 과연 결과값이 어떻게 나올것인지 곰곰히 생각해봐야한다.(처음이니까~) 결과가 어떠한가!! 처음엔 부모 프로세서가 다 돌고 두번째로 생성된 프로세..
/var/lib/dpkg/lock 잠근 파일을 얻을 수 없습니다. 에러~ E: /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다. - open( 11 Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process 요런 에러는 apt-get install명령어로 실행중 에러가 나는 경ㅇ다. 대부분 시넵틱 관리자에서 업데이트하는중 나는 에러인데 Xwindows 상에서 실행되고 있는 업데이트를 모두 완료하고 다시 설치 하던가 시넵틱 관리자의 프로세서를 죽이고 하면 된다. 그래도 안된다면 #rm -rf /var/lib/dpkg/lock 명령어로 파일을 지운후 재부팅하면 된다. 리눅스를 하면서 신기한건 인스톨의 점유가 하나의..