Programming/C Win32 MFC2009. 2. 24. 11:01
상당히 즐겨보고 애용하는 문서 입니다.
ANSI C에 관련된 함수 정리 및 어떤 파일에 어떤 함수가 있는지를 쉽게 알 수 있고
함수의 프로토타입과 설명이 있어서 C언어 프로그래머들에게 매우 유용한 자료입니다.

2.   Library
     2.1  assert.h
          2.1.1     assert
     2.2  ctype.h
          2.2.1     is... Functions
          2.2.2     to... Functions
     2.3  errno.h 
          2.3.1     EDOM
          2.3.2     ERANGE
          2.3.3     errno   
     2.4  float.h
          2.4.1     Defined Values
     2.5  limits.h
          2.5.1     Defined Values
     2.6  locale.h
          2.6.1     Variables and Definitions
          2.6.2     setlocale
          2.6.3     localeconv
     2.7  math.h
          2.7.1     Error Conditions
          2.7.2     Trigonometric Functions
               2.7.2.1   acos
               2.7.2.2   asin
               2.7.2.3   atan
               2.7.2.4   atan2
               2.7.2.5   cos
               2.7.2.6   cosh
               2.7.2.7   sin
               2.7.2.8   sinh
               2.7.2.9   tan
               2.7.2.10  tanh
          2.7.3     Exponential, Logarithmic, and Power Functions
               2.7.3.1   exp
               2.7.3.2   frexp
               2.7.3.3   ldexp
               2.7.3.4   log
               2.7.3.5   log10
               2.7.3.6   modf
               2.7.3.7   pow
               2.7.3.8   sqrt
          2.7.4     Other Math Functions
               2.7.4.1   ceil
               2.7.4.2   fabs
               2.7.4.3   floor
               2.7.4.4   fmod
     2.8  setjmp.h
          2.8.1     Variables and Definitions
          2.8.2     setjmp
          2.8.3     longjmp
     2.9  signal.h
          2.9.1     Variables and Definitions
          2.9.2     signal
          2.9.3     raise
     2.10 stdarg.h
          2.10.1    Variables and Definitions
          2.10.2    va_start
          2.10.3    va_arg
          2.10.4    va_end
     2.11 stddef.h
          2.11.1    Variables and Definitions
     2.12 stdio.h
          2.12.1    Variables and Definitions
          2.12.2    Streams and Files
          2.12.3    File Functions
               2.12.3.1  clearerr
               2.12.3.2  fclose
               2.12.3.3  feof
               2.12.3.4  ferror
               2.12.3.5  fflush
               2.12.3.6  fgetpos
               2.12.3.7  fopen
               2.12.3.8  fread
               2.12.3.9  freopen
               2.12.3.10 fseek
               2.12.3.11 fsetpos
               2.12.3.12 ftell
               2.12.3.13 fwrite
               2.12.3.14 remove
               2.12.3.15 rename
               2.12.3.16 rewind
               2.12.3.17 setbuf
               2.12.3.18 setvbuf
               2.12.3.19 tmpfile
               2.12.3.20 tmpnam
          2.12.4    Formatted I/O Functions
               2.12.4.1  ...printf Functions
               2.12.4.2  ...scanf Functions
          2.12.5    Character I/O Functions
               2.12.5.1  fgetc
               2.12.5.2  fgets
               2.12.5.3  fputc
               2.12.5.4  fputs
               2.12.5.5  getc
               2.12.5.6  getchar
               2.12.5.7  gets
               2.12.5.8  putc
               2.12.5.9  putchar
               2.12.5.10 puts
               2.12.5.11 ungetc
          2.12.7    Error Functions
               2.12.7.1  perror
     2.13 stdlib.h
          2.13.1    Variables and Definitions
          2.13.2    String Functions
               2.13.2.1  atof
               2.13.2.2  atoi
               2.13.2.3  atol
               2.13.2.4  strtod
               2.13.2.5  strtol
               2.13.2.6  strtoul
          2.13.3    Memory Functions
               2.13.3.1  calloc
               2.13.3.2  free
               2.13.3.3  malloc
               2.13.3.4  realloc
          2.13.4    Environment Functions
               2.13.4.1  abort
               2.13.4.2  atexit
               2.13.4.3  exit
               2.13.4.4  getenv
               2.13.4.5  system
          2.13.5    Searching and Sorting Functions
               2.13.5.1  bsearch
               2.13.5.2  qsort
          2.13.6    Math Functions  
               2.13.6.1  abs
               2.13.6.2  div
               2.13.6.3  labs
               2.13.6.4  ldiv
               2.13.6.5  rand
               2.13.6.6  srand
          2.13.7    Multibyte Functions
               2.13.7.1  mblen
               2.13.7.2  mbstowcs
               2.13.7.3  mbtowc
               2.13.7.4  wcstombs
               2.13.7.5  wctomb
     2.14 string.h
          2.14.1    Variables and Definitions
          2.14.2    memchr
          2.14.3    memcmp
          2.14.4    memcpy
          2.14.5    memmove
          2.14.6    memset
          2.14.7    strcat
          2.14.8    strncat
          2.14.9    strchr
          2.14.10   strcmp
          2.14.11   strncmp
          2.14.12   strcoll
          2.14.13   strcpy
          2.14.14   strncpy
          2.14.15   strcspn
          2.14.16   strerror
          2.14.17   strlen
          2.14.18   strpbrk
          2.14.19   strrchr
          2.14.20   strspn
          2.14.21   strstr
          2.14.22   strtok
          2.14.23   strxfrm
     2.15 time.h 
          2.15.1    Variables and Definitions
          2.15.2    asctime
          2.15.3    clock
          2.15.4    ctime
          2.15.5    difftime
          2.15.6    gmtime
          2.15.7    localtime
          2.15.8    mktime
          2.15.9    strftime
          2.15.10   time
머.. 위에 링크 내용만 보면 필요 하신분들은 알아서 아래 다운을 클릭 하시기를 -ㅁ-

참고 사항으로
c_guide.tar.gz 26-Feb-2002 14:50 202K <- 업데이트 안된지 오래된 문서입니다만, reference인 관계로 오래된 만큼 치명적인
문제점은 없다고 보여 집니다.

[다운 : http://www.acm.uiuc.edu/webmonkeys/book/c_guide.tar.gz]
[링크 : http://www.acm.uiuc.edu/webmonkeys/book/c_guide/index.html]
Posted by 구차니
Linux2009. 2. 23. 17:34
카페에서 우연히 주워들은 프로그램이름인데..
검색해보니 readelf가 조금 더 분석에 강력하다고 한다.

#include <stdio.h>

void main()
{
        unsigned char b = 0xF1;
        unsigned short c = 0xF1;
        unsigned int d = 0xF1;

        printf("%X\n",b);
        printf("%X\n",c);
        printf("%X\n",d);
}


위의 소스를 분석한 내용이다. 내용이 많으므로 눌러서 보기바람.

$ gcc -S test.c
$ more test.s

$ gcc -Wl,-Map -Wl,test.map test.c
$ more test.map

$ gcc test.c
$ objdump -x a.out

$ readelf -a a.out

$ ldd a.out

솔찍히 머가 먼지 모르겠다.

덧 : 생각해보니 이것저것 생각나는거 다 붙이다 보니 제목이 안 맞네 ㄱ- 바꿔야 하나?

'Linux' 카테고리의 다른 글

rdate - get the time via the network  (0) 2009.03.02
Visuel Hexdiff - console based visual hex diff  (4) 2009.02.24
ln의 반대말은? - unlink  (0) 2009.02.23
sleep 함수들  (0) 2009.02.22
ls 와 친해지기 - 디렉토리만 봅시다!  (0) 2009.02.22
Posted by 구차니

문제가 되는 녀석은 "비교시 파일 시간 보호" 라는 녀석인데
도움말이 영어다보니.. 바로 눈에 안들어 와서 한참 걸렸다..

2.7. Preserve file time in file compare

  • Disabled (default): If you save changes to a file in WinMerge, the timestamp of the file is updated.

  • Enabled: If you save changes to a file in WinMerge, the timestamp of the file is not changed in your file system.


물론 기본값은 disable(체크 꺼짐) 이지만, 먼가 좋은건줄 알고 켜놨더니,
cvs에서도 날짜 기반으로 체크하다 보니, 날짜가 바뀌지 않아 최신 버전인줄 착각하고 있었고,
makefile 역시도 날짜 기반으로 체크하니 동일한 문제로 인해 컴파일을 다시 하지 않았다.


cvs/makefile 뿐만 아니라 다른 source형상 관리 프로그램들 모두 시간에 민감할테니
되도록이면 이 옵션은 기본값인 disable 한채로 쓰는게 좋을 듯 하다.
Posted by 구차니
Araxis나 WinMerge나 이녀석들이 보기에는 소스코드가 아니면 전부 바이너리로 밖에 보이지 않는지라,
이러한 파일들의 내용을 알 수 없기에, 바이너리의 버전 관리는 상당히 힘든 문제가 발생한다.


위의 사진은 WinMerge로 xls 파일을 비교한 내용이다.(물론 합성! 실제로는 저 에러가 먼저 뜨고 내용이 뜬다)
바이너리라서 전혀 이해할 수도, 볼 수도 없다.

하.지.만!
플러그인을 사용하면 아래와 같이 텍스트로 내용을 볼 수 있다.
(물론 병합/Merge를 할 수 있지는 않다. 단지 내용을 볼 수 있을 뿐이다)


어떻게 보면 병합도 못하는데 무슨 소용이냐? 라고 할 수 있겠지만,
글쎄?
일일이 비교도 안되는 엑셀의 내용을 뚫어라 쳐다보면서 비교점을 찾을 수 있다면서 필요 없겠지만,
최소한 무슨 내용이 변경되었는지 알 수 있는 것과 비교 한다면 천지 차이가 아닐려나?



xdocdiff WinMerge Plugin -Compare Word, Excel, PowerPoint, pdf-With this plugin, you can compare these files.
.rtf Rich Text
.docx/.docm Microsoft WORD 2007(OOXML)
.xlsx/.xlsm Microsoft Excel 2007(OOXML)
.pptx/.pptm Microsoft PowerPoint 2007(OOXML)
.doc
Microsoft WORD ver5.0/95/97/2000/XP/2003
.xls Microsoft Excel ver5.0/95/97/2000/XP/2003
.ppt Microsoft PowerPoint 97/2000/XP/2003
.sxw/.sxc/.sxi/.sxd OpenOffice.org
.odt/.ods/.odp/.odg Open Document
.wj2/wj3/wk3/wk4/123 Lotus 123
.wri Windows3.1 Write
.pdf Adobe PDF
.mht Web Archive
.eml Exported files from OutlookExpress

outlook 외부 저장파일 까지 지원을 한다. 실질적으로 거의 모든 문서를 지원한다고 보면된다.
(아래한글이 없잖아! 이러면 곤란)

[링크 : http://freemind.s57.xrea.com/xdocdiffPlugin/en/index.html]


Posted by 구차니
Linux2009. 2. 23. 10:50
ln -s 로 심볼릭 링크를 만들면 만들어 지는데...
문제는 rm으로 삭제가 안된다.

이럴 때 어떻게 지우냐면은... X-window에서 지운다 -_-v
콘솔에서 명령으로는 어떤것을 사용해야 하는지 몰랐기에 어쩔 수 없는 선택이었지만 말이다 ㄱ-

아무튼 mount의 반대는 umount 이듯
ln의 반대는 unlink랜다

먼가 이상한데? 왜 unln이 아니라 unlink일까? -ㅁ-

[발견 : http://www.newlinuxuser.com/howto-remove-a-symbolic-link/]



궁금중 해결!
ln and link are not same commands.
Link supports Files only. you can't link directories with link command. please check man pages of both commands again.

link and ln (without -s option) are same. Bot creates hard links.
ln with -s option creates soft link.


[발견 : http://www.linuxforums.org/forum/linux-programming-scripting/89240-link-ln.html]
Posted by 구차니
개소리 왈왈2009. 2. 23. 09:51
아침에 지하철을 타고 올 때는 애인과 전화를 하거나(적당하게 지하철이 시끄러우면)
아니면 앉아서 자면서 온다.

그.런.데

오늘따라 옆에 옆에 아가씨가 핸드폰으로 이어폰 만땅해놓고
소녀시대의 Gee를 듣는다.
계속 듣는다. ㄱ-
또 듣는다.


젠장 ㄱ- 무한 반복인가?



결론 : 시끄러워서 못잤다. OTL
사족 : 개인적으로는 살찐 티파니가 좋습니다 *-_-*
Posted by 구차니
Linux2009. 2. 22. 22:06
$ man -k sleep
Time::HiRes          (3pm)  - High resolution alarm, sleep, gettimeofday, interval timers
apmsleep             (1)  - go into suspend or standby mode and wake-up later
clock_nanosleep      (2)  - Suspend execution of the currently running thread
clock_nanosleep      (3p)  - high resolution sleep with specifiable clock (ADVANCED REALTIME)
nanosleep            (2)  - pause execution for a specified time
nanosleep            (3p)  - high resolution sleep (REALTIME)
sleep                (1)  - delay for a specified amount of time
sleep                (1p)  - suspend execution for an interval
sleep                (3)  - Sleep for the specified number of seconds
sleep                (3p)  - suspend execution for an interval of time
usleep               (1)  - sleep some number of microseconds
usleep               (3)  - suspend execution for microsecond intervals
usleep               (3p)  - suspend execution for an interval

usleep은 1초 까지만 잠재울수 있는 제약이 있다.(1,000,000usec = 1,000msec = 1sec)
USLEEP(P)                  POSIX Programmer’s Manual                 USLEEP(P)

NAME
       usleep - suspend execution for an interval

SYNOPSIS
       #include <unistd.h>

       int usleep(useconds_t useconds);

DESCRIPTION
       The  usleep()  function  shall cause the calling thread to be suspended from execution until either the number of
       realtime microseconds specified by the argument useconds has elapsed or a signal  is  delivered  to  the  calling
       thread  and  its action is to invoke a signal-catching function or to terminate the process.  The suspension time
       may be longer than requested due to the scheduling of other activity by the system.

       The useconds argument shall be less than one million. If the value of useconds is 0, then the call has no effect.

sleep은 1초 단위로 무제한으로 쓸수 있다.(실질적인 제약은 시스템에 따라 다르지만 32bit / 64bit unsigned int)
SLEEP(P)                   POSIX Programmer’s Manual                  SLEEP(P)

NAME
       sleep - suspend execution for an interval of time

SYNOPSIS
       #include <unistd.h>

       unsigned sleep(unsigned seconds);

DESCRIPTION
       The  sleep() function shall cause the calling thread to be suspended from execution until either the number of
       realtime seconds specified by the argument seconds has elapsed or a signal is delivered to the calling  thread
       and its action is to invoke a signal-catching function or to terminate the process. The suspension time may be
       longer than requested due to the scheduling of other activity by the system.

       If a SIGALRM signal is generated for the calling process during execution of sleep() and if the SIGALRM signal
       is  being  ignored or blocked from delivery, it is unspecified whether sleep() returns when the SIGALRM signal
       is scheduled. If the signal is being blocked, it is also unspecified whether it remains pending after  sleep()
       returns or it is discarded.

nanosleep은 REALTIME 확장인 듯 한데.. 먼지 모르겠다 ㄱ-
일단은 위의 sleep, usleep과는 다르게 include 파일이 다르다.
NANOSLEEP(P)               POSIX Programmer’s Manual              NANOSLEEP(P)

NAME
       nanosleep - high resolution sleep (REALTIME)

SYNOPSIS
       #include <time.h>

       int nanosleep(const struct timespec *rqtp, struct timespec *rmtp);

DESCRIPTION
       The  nanosleep()  function shall cause the current thread to be suspended from execution until either the time
       interval specified by the rqtp argument has elapsed or a signal is delivered to the calling  thread,  and  its
       action  is to invoke a signal-catching function or to terminate the process. The suspension time may be longer
       than requested because the argument value is rounded up to an integer multiple  of  the  sleep  resolution  or
       because  of the scheduling of other activity by the system. But, except for the case of being interrupted by a
       signal, the suspension time shall not be less than the time specified by rqtp, as measured by the system clock
       CLOCK_REALTIME.

       The use of the nanosleep() function has no effect on the action or blockage of any signal.



Posted by 구차니
Linux2009. 2. 22. 18:46
예전에 DOS에서는 dir /ad 하면 디렉토리만 볼 수 있었는데
리눅스에서는 옵션을 몰라서 디렉토리만 보려고 하다가 내용까지 보여서 번거로웠다.

LS(1)                            User Commands                           LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

         ..... 중략 .....

       -d, --directory
              list directory entries instead of contents, and do not dereference symbolic links

dir 도움말
C:\>dir /?
디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.

DIR [드라이브:][경로][파일 이름] [/A[[:]특성]] [/B] [/C] [/D] [/L] [/N]
  [/O[[:]정렬 순서]] [/P] [/Q] [/S] [/T[[:]시간 필드]] [/W] [/X] [/4]

  [드라이브:][경로][파일 이름]
              나타낼 드라이브, 디렉터리 및/또는 파일을 지정합니다.

  /A          지정된 특성을 가진 파일을 보여줍니다.
  특성        D  디렉터리                   R  읽기 전용 파일
              H  숨김 파일                  A  기록 파일
              S  시스템 파일                -  부정을 뜻하는 접두사
  /B          최소 형식을 사용합니다 (머리말 정보나 요약 없음).
  /C          파일 크기에 1000단위로 분리 기호를 보여줍니다. 이것은 기본값
              입니다. 분리 기호를 표시하지 않으려면 /-C를 사용하십시오.
  /D          /W와 같으나 세로로 배열하여 보여줍니다.
  /L          소문자를 사용합니다.
  /N          파일 이름이 제일 오른쪽에 오도록 새로운 긴 목록 형식을
              사용합니다.
  /O          파일을 정렬된 순서로 보여줍니다.
  정렬순서    N  이름순(문자 순서)    S  크기순(작은 것 먼저)
              E  확장명순(문자 순서)  D  날짜/시간순(가장 이전 것 먼저)
              G  그룹 디렉터리 먼저         -  순서를 반대로 하는 접두 기호
  /P          정보가 한 화면에 꽉 차면 잠깐 멈춥니다.
  /Q          파일 소유자를 보여 줍니다.
  /S          지정한 디렉터리와 하위 디렉터리를 포함하여 보여줍니다.
  /T          정렬에 사용할 시간 필드를 지정합니다.
  시간필드   C  작성한 시간
              A  마지막 액세스한 시간
              W  마지막 기록한 시간
  /W          이름만 가로로 배열하여 보여줍니다.
  /X          8.3 파일 이름이 아닌 파일에 대한 짧은 이름을 보여줍니다.
              이 형식은 긴 이름 앞에 짧은 이름이 추가된 것으로 /N 형식과
              같습니다. 짧은 이름이 없으면 공백을 보여줍니다.
  /4          4자리수 연도를 표시합니다.

스위치를 DIRCMD 환경 변수로 미리 설정할 수 있습니다. 하이픈(-)을
스위치 앞에 접두 기호로 주면 미리 설정된 스위치에 우선합니다. (예, /-W)



Posted by 구차니
개소리 왈왈2009. 2. 22. 14:40
문득 j4blog의 글을 보다가 연필이 생각이 났다.

언제부터였을까? 연필을 쓰지 않게 된게?
대학교에서도 연필은 아니어도 최소한 샤프를 섰었고,
졸업하고 나서는 연필갂는 느낌과, 그 시간에 잠시 머리를 식힌다고 섰었고
취업해서도 한동안을 연필을 섰었다.
그 남은 연필들이 모두 몽당연필이 되어 볼펜에 꼽아서 쓰기에도 짧아 졌을때
그 이후로는 연필을 다시 사지 않았던 것 같다.

중국산 연필을 한타스에 1000원 하길래 샀었는데(지하철에서)
이 써글 연필은 옹이까지 갂아서 만들어 주는 바람에 칼로는 갂기 힘들었고, 이로 인해서
심을 몇번이나 분질러 먹는 바람에 금세 몽당연필이 되었었다.

오늘은 한번 퇴근하는 길에 (과연 일찍 퇴근가능할지?)
문화연필이나 한타스 사야겠다.


그러고 보니... 예전에는 연필 바로 잡는 교정틀도 있었는데 아직도 그런게 있을까?

[링크 : http://j4blog.tistory.com/entry/%EB%B8%94%EB%A1%9C%EA%B7%B8-%EC%A2%8B%EC%9D%80-%EA%B8%80%EC%93%B0%EA%B8%B0%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%EC%A4%80%EB%B9%84%EB%AC%BC]

'개소리 왈왈' 카테고리의 다른 글

200개 글 돌파 기념 그런거 없음!  (2) 2009.02.24
소시쥐 뒤질래? ㅡㅡ^  (0) 2009.02.23
죽다 살아 나다  (6) 2009.02.21
구차니군의 잡다한 이야기  (6) 2009.02.20
둘리?  (6) 2009.02.19
Posted by 구차니
개소리 왈왈2009. 2. 21. 20:07
멀 잘못 먹었는지, 갑자기 속이 꼬여서
5시간 사이에 거의 8번을 토하고 오한에 오돌오돌 떨어대다가
결국에는 회사 결근하고 집에서 14시간을 넘게 기절해 있었다.


도대체 멀 잘못 먹은겨 ㄱ-

'개소리 왈왈' 카테고리의 다른 글

소시쥐 뒤질래? ㅡㅡ^  (0) 2009.02.23
연필의 느낌이 그립다.  (5) 2009.02.22
구차니군의 잡다한 이야기  (6) 2009.02.20
둘리?  (6) 2009.02.19
보고싶지 않으면 패스해도 되는 나의 이야기 - 1/n ?  (0) 2009.02.15
Posted by 구차니