분류 전체보기 1159

2기가 이상 파일을 열때( fopen 컴파일 옵션)

우연히 무지무지무지 무지큰(9기가 정도의 택스트파일) 파일을 여는 프로그램을 짠 적이 있다. 근데 이상하게 파일이 열리지 않는 문제점이 있었다. 쭈노는 한참을 해메다가 샤워를 하는데 번쩍 생각이 떠올랐다. 만약 파일 포인트가 32비트이면 2기가가 한계일 거고 그럼 파일을 열지 못하지 않을까? 역시 빙고^__^ 2기가를 넘는 파일을 열지 못하는 되어있었다. 찾아보니 이는 컴파일 옵션을 줘서 해결할 수 있었다. [CODE]gcc -D_FILE_OFFSET_BITS=64 -o main main.c[/CODE] 다음과 같이 ㅋㅋ

Passion/Programming 2006.10.17

OptParser 옵션 파싱

이건 Python 2.3(아마도) 부터 구현된 모듈이다. 쭈노는 커멘드 라인에서 받은 argument 처리는 좀 정리되었으면 좋겠다. 순서에 상관없이 분류할 수 있으면 좋겠고, 모듈기반으로 설계되어 같이 붙이기 좋으면 좋겠다. 이를 위해서 파이슨에서는 OptionParser 모듈을 제공한다. 이를 이용하면 좀더 깔끔한 코딩을 할 수 있다. from optparse import OptionParser [...] def main(): usage = "usage: %prog [options] arg" parser = OptionParser(usage) parser.add_option("-f", "--file", dest="filename", help="read data from FILENAME") parser..

Passion/Python 2006.10.16

NAM trace format

자세한 내용은 터미널에서 nam -p를 치면 나온다. 이동성과 관련하여 아래와 같은 정보들이 기록된다. n -t 1.000000 -s 0 -x 0.169789 -y 277.940358 -U 0.048711 -V -0.051687 -T 4524.947779 n : node라는 의미 -t : 시간(초) -s : 노드 번호 -x : 가고자하는 위치의 x좌표 -y : 가고자하는 위치의 y좌표 -U : x방향으로의 속도 -V : y방향으로의 속도 -T : 이동하는 지속시간(초) 이를 바탕으로 설명해보면 노드 0번은 1.000000 초에 현재 위치에서 (0.169789, 277.940358) 방향으로 속도(0.048711, 0.051687)로 4524.947779 초동안 움직여라 이 정보를 바탕으로 분석하는게 일 ..

Passion/NS 2006.10.12

명세서의 중요성

"코딩부터 시작해 볼까! -,-" 프로젝트를 개발하다 보면 설계의 소중함을 느끼면서도 매번 무작정 코딩부터하는 버릇이 있다. 하지만 여기에서 명세서의 중요성을 다시 한번 강조해보고 싶다. "기능명세서를 작성하자!" 프로젝트를 시작하면 이 프로젝트가 어떤 기능을 하는 제품이라는 것을 설명하여야 한다. 이것이 바로 기능 명세서이다. 사용자 관점에서 어떤 동작을 하는 것이다를 알려주어야 한다. "기술명세서를 작성하자!" 이는 프로그램 내부의 구현을 설명한다. 자료구조, 데이터베이스 모델, 프로그래밍 언어 등을 구체적으로 정의하는 것이다. 지금 내가 하고 있는 프로젝트도 마찬가지였다. 프로젝트가 시작한지 벌써 4개월이 넘었건만, 난 오늘 GUI를 Visual C++ 6.0으로 설계하고 있다는 것을 알았다. 이런..

Passion/My Idea 2006.10.12