본문 바로가기 메뉴 바로가기

썰렁한 엔지니어

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

썰렁한 엔지니어

검색하기 폼
  • 분류 전체보기 (947)
    • 전체 (827)
      • 장난하기 (258)
      • 잡생각 (174)
      • 사는 얘기 (341)
      • 망상 (2)
      • 책 (20)
      • 영화 (16)
      • 시 (16)
    • 쓰지 않는 카테고리 (119)
      • 아이디어 (7)
      • OpenID (17)
      • 꽃과 나무 (28)
      • 모바일 로그 (52)
      • Textcube (15)
  • 방명록

전체/장난하기 (258)
C/C++의 초기화되지 않은 전역 변수

[CODE]$ cat a.c #include int noinit_global_var; int init_global_var = 0; static int static_var; static int init_static_var = 0; int func() { static int func_static_var; return 0; } $ nm a1.o 00000000 T func 00000008 b func_static_var.0 00000000 B init_global_var 00000004 b init_static_var 00000004 C noinit_global_var 0000000c b static_var $ nm a2.o 00000000 T _Z4funcv 00000010 b _ZZ4funcvE15func..

전체/장난하기 2005. 3. 17. 19:12
fgetc 함수

[CODE]char ch; while( (ch = fgetc( f )) != EOF ) { printf("%c", ch ); }[/CODE] 언뜻보기에는 맞는 것 같이 보인다. 하지만, 여기에는 isprint 못지 않은 두려운 버그가 숨어 있다. fgetc 의 원형은 다음과 같다. [CODE]int fgetc( FILE * );[/CODE] fgetc의 return 값이 int 란다. 그리고, 문자하나를 되돌리는 함수라니.. 각설하고 위 코드는 다음과 같아야한다. [CODE]int ch; while( (ch = fgetc( f )) != EOF ) { printf("%c", (char) ch ); }[/CODE] fgetc의 설명을 보면, 파일의 끝이나 오류를 만났을 때 EOF를 되돌린단다. unsign..

전체/장난하기 2005. 3. 7. 22:01
isprint 의 원형

char ch = 'X'; 위와 같이 되어 있을 때, 다음과 같이 사용하는 것이 옳은 것이냐하는 것인데, if( isprint( ch ) ) { blah; } 경고감이다. 왜냐하면, isprint의 원형은 [CODE]int isprint (int c);[/CODE] 이기 때문이며, 여기에는 isprint에 넣는 인자의 철학과 우리가 흔히 사용하는 문자형 변수의 차이에서 오는 괴리감이 있는 것이다. int 는 char가 표현할 수 있는 것보다. 일반적으로 더 많은 범위를 받을 수 있는데 (sizeof( char ) == sizeof( int ) 인 구조를 제외하면 항상 그렇지 않는가?) 그러면서도 signed 형이라는 것이다. 그런데, char 는 명시적으로 signed char, unsigned char..

전체/장난하기 2005. 3. 7. 21:27
64Bit Computing links

* GNU GCC versus Sun's Compiler in the SPARC Platform ::http://www.osnews.com/story.php?news_id=5830&page=3 * Are 64-bit Binaries Really Slower than 32-bit Binaries? ::http://www.osnews.com/story.php?news_id=5768 * Solaris 64-bit Developer's Guide ::http://docs.sun.com/app/docs/doc/806-0477 * Compiler Usage Guidelines for 64-Bit Operating Systems on AMD64 Platforms ::http://www.amd.com/us-en/ass..

전체/장난하기 2005. 1. 22. 01:22
Debugging

함수의 프로토타입을 꼼꼼히 분석하라 : 함수의 프로토타입에는 그 함수가 뭘하는 것인지에 대한 정보의 90%가 들어 있다. const 형식이 어떤 것인지 모두 이해하고 있어라 : 함수 인자, 변수 선언, 멤버 함수 맨 뒤. static 형식이 어떤 것인지 모두 이해하고 있어라 : 변수 선언, 함수 선언, 멤버 함수 오브젝트 파일안에 뭐가 들어 있는지 알고 있어야한다. : nm, objdump, readelf, dumpbin.exe, depends.exe 등의 유틸리티가 도움이 된다. 소스를 코딩하고나면 오브젝트 코드가 어떻게 생기는지 알고 있어야한다. 스택에 쌓이는 순서를 상상하라 커널레벨과 사용자레벨의 차이와 그 전환은 어떻게 일어나는지 알고 있어야한다. 디버깅 툴(브레이크 포인트, 변수 내용 보기, 시..

전체/장난하기 2004. 12. 22. 02:34
WinXP에서 제어판 명령어들

diskmgmt.msc : 디스크 관리자 services.msc : 서비스 관리자 devmgmt.msc : 장치 관리자 fsmgmt.msc : 파일 공유 관리자 lusrmgr.msc : 로컬 사용자 관리자 gpedit.msc : 그룹정책

전체/장난하기 2004. 10. 10. 00:00
인터넷 서비스(TCP 기반)를 위한 서버 유형 정리

1. 서문 2. Local Scheduler / System Scheduler 3. Symmetric Job Unit / Asymmetric Job Unit 4. Process / Thread (per client) 5. Pre-spawned / Post-spawn (per connection-request) 6. Reuse / One-time use (job unit life cycle) 7. Configurable / Fixed job 8. Single port listening / Multiple ports listening 9. Level detected triggering / Edge detected triggering 10. Asynchronous / Synchronous Handling 1...

전체/장난하기 2004. 10. 5. 13:56
프로그래머로 산다는 것

전문가라 칭해지는 것 중에 프로그래밍만큼 그 허와 실이 다른 경우가 있을까? 내 이야기를 하고 싶다. 일반적인 이야기는 이 글을 읽고 있을 프로그래머에게는 너무 식상한것일테니 난, 8bit시절부터 컴을 다루던, 우리나라의 80년대 컴키드로 시작을했다. 그 부류의 사람들은 크게 게임을 하던사람들과 할 게 없어서 어셈블리까지 하던 부류로 나뉠 것 같다. 누구는 그렇지 않겠냐마는 나에게 있어서도, 컴에 대한 매력은 게임보다는 내가 작성한 베이식(당시에는 베이직으로 많이 불리었던..)언어를 돌리다보면 척척 결과를 내는 것에 매료되어 하다가하다가 변태(?)적인 성향을 띄던 사람들이 많았을 것이다. 중학교, 고등학교를 그런식으로 지냈으니 컴에 대해서 얼마나 단순했으랴. 그간의 수많은 일들을 제쳐두고, 나이 30이 ..

전체/장난하기 2003. 4. 20. 01:17
이전 1 ··· 23 24 25 26 다음
이전 다음
공지사항
최근에 올라온 글
  • 2개의 VIM을 위한 복사 및 붙여 넣기
  • 공용서버에서 github, bitbucket 사용하기(2): GIT 편
  • 공용서버에서 github, bitbucket 사용하기(1): SSH 편
  • Ssh access git repository
  • ssh-agent 사용하기 (Mac 사용자로서)
  • 탁상시계 분해
  • 추상화 단계
  • 도메인 소유기록
  • 소켓 접속 종료를 테스트 하는 법
  • Alternative Screen
최근에 달린 댓글
  • 집사를 시키지요.
  • 답이 늦었네요. 이미 해보셨⋯
  • https://apps.apple.com/us/a⋯
  • 혹시 unarchiver를 시도해보⋯
Total
1,055,746
Today
33
Yesterday
34
링크
  • 썰렁한 엔지니어
TAG
  • BlogAPI
  • 커피
  • 디버깅
  • perl
  • SSO
  • ssh
  • OpenID
  • 클레로덴드럼
  • TCP/IP
  • 구근
  • 덴드롱
  • Tattertools plugin
  • 킹벤자민
  • 수선화
  • writely
  • JavaScript
  • 퀴즈
  • SVN
  • Linux
  • tattertools
  • 오픈소스
  • VIM
  • 대화
  • 식물
  • Subversion
  • url
  • macosx
  • 벤자민
  • nodejs
  • MySQL
more
«   2021/04   »
일 월 화 수 목 금 토
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
글 보관함
  • 2021/03 (1)
  • 2021/02 (4)
  • 2021/01 (3)
  • 2020/11 (3)
  • 2020/10 (4)

Blog is powered by Tistory / Designed by Tistory