본문 바로가기

전체 글

(189)
공지~ 또 하나의 프로그램 제작중... c언어에서 메모리 관리 짜증나시죠? 정신없으시죠? 마지막 프로그램 종료까지 편안하게 모시겠습니다. 평생무료에 만나볼수 있는 고품격 오픈소스 서비스 쓰는 즉시 프로그램이 맛이 가더라도 사용자 스스로 고칠수 있게 멋진 디자인과 주석의 아름다움을 맛볼수 있습니다. 왜... segment fault 나면 정신 없잖아요 각종 쓰레드에 보고서 작성에 심심하면 튀어나오는 버그가 나오기라도 하면.. 어휴 정말.. 이제 부터 메모리 관리 만큼은 정성것 도와드리겠습니다. 컴파일즉시 에러가 뜨더라도 상세한 로그로 인해 즐겁게 디버깅 할수 있습니다. (사기) 저희 jepi 서비스는 ubchat 도 같이 팔고 있습니다. 개콘 패러디 ... 100% 재미로 .. ㅋ 메모리 누수 탐지 프로그램 만들고 있습니다. 제목은 거창 하지만..
disasmble 기초 정리 (2) 눈이 너무 피곤하네여~ 밖에 잠깐 나갔다 왔는데 벌써 벚꽃이 피었습니다. 흠... 근데 난 집에 짱박혀서 뭐 하는 건지... ㅋㅋ 전 문서에서 계속 이어 갑니다.. 80483e4: 55 push %ebp 80483e5: 89 e5 mov %esp,%ebp 80483e7: 51 push %ecx 80483e8: 83 ec 24 sub $0x24,%esp int a, b; int result; 80483e7: 51 push %ecx ecx 레지스터를 스택에 넣었습니다. 이게 뭘까여? gdb 로 확인해 보면 (gdb) x $ecx 0xbfdbf2b0: 0x00000001
disasmble 기초 정리 (1) 예전 글을 보니 역시 나도 보면서 정리가 깔끔하지 못했습니다. 다시 정리해서 글을 올려봅니다. !! 저도 초보라서 틀릴수 있습니다. 고수분들 중에 문서에 틀린부분이 있으면 지적해 주세요 !! 예제) int sum(int a, int b) { int sum; sum=a+b; return sum; } int main() { int a, b; int result; a=10; b=5; result=sum(a, b); printf("result = %d\n", result); return 0; } 간단한 프로그램 입니다. 이걸 disasmble 해 보겠습니다. 저 같은 경우는 disasmble 할때 objdump 를 이용하여 파일을 추출한걸 열고 gdb로 디버깅하여 서로 비교해 가면서 합니다. gcc -g -o ..
tcp/ip 기초 문서 구글링 하다 좋은 자료가 있어 올립니다. 다들 한번 보시길. .. 제 목 : 인터넷 자료 전달의 핵심 - TCP/IP 그 완벽 가이드 작성자 : 송재호. 작성일 : 1998년 8월 저작권 : 없음. 이 문서는 자유로이 인용, 수정 및 재 배포될 수 있음을 밝힌다. 인터넷에서 자료 전달의 핵심 - TCP/IP 순서 1. 들어가기 전에 2. Network 과 프로토콜 3. TCP/IP 1 절 TCP/IP의 옅은 곳 (기본 개념) 2 절 TCP/IP의 깊은 곳 (A,B,C,D, 그리고 E 클래스, 서브넷, 라우팅) 4. OSI 7 Layer와 TCP/IP 비교 5. TCP/IP 응용 예 (DHCP, IP Masquerade) 6. TCP/IP 를 만든 돌대가리들 7. TCP/IP 환경 설정 실습 8. 용어정리..
2진 트리 2진 트리를 만들어 봤습니다. 한동안 알고리즘과 자료구조를 공부를 안했는데 확실히 만들면서 머리가 아파오기 시작했습니다. 테스트 해보니 다행히 이상없이 잘 돌아가기는 했고.. 역시 많이 부족해... (소스는 어렵지 않으니 분석해 보시길..) #include #include typedef struct _node { struct _node *left; struct _node *right; int num; }node; node *head=NULL; void InsertNode(int num); // 자료 입력 void SearchTree(node *comp, node *tmp); // 입력값이 어디에 들어가야 하나? void PrintTree(node *comp); // 자료 출력 void FreeTree(n..
알고리즘 트레이닝 www.dovelet.com 정보올림피아드 트레이닝 사이트 입니다. 심심할때 풀어보면 잼나는듯... 저도 알바하면서 풀고 있는데 시간 잘가네.. ㅋㅋ
고민되네... ubchat 을 c++로 바꿔버릴까 생각중이다. c언어중에 정말 오버로딩기능이 있었으면 좋은데.. 니미럴 몇가지 기능 추가 및 수정을 할려고 하는데 stl이 필요하기도 하고 클래스로 한번 묶어볼려구 한다... 아우 근데 이거 완전 노가다 될듯한데....
어셈 분석 (변수) #include int main() { char a[]="abc"; char *b="def"; a[0]='q'; b[0]='q'; return 0; } c언어 책에 한번쯤 나와본 예제입니다. 프로그램을 실행하면 리눅스에서 Segmentation fault 에러 납니다. 이말은 곧 메모리를 잘못 참조하였는 말인데 b[0]='q'