프로그래밍 QnA

timul16의 이미지

리눅스 /dev 파일의 메이져번호와 마이너번호가 겹치되면 어떻게 되나요?

제가 임의로 /dev 파일을 만들어서 테스트를 하고있는데요

해당노드파일을 연결하여 예제프로그램을
테스트하면 장치가 특정 마이너 번호(0,1)에서만 정상동작을 하고요 그 이후(2~)부터
노드파일에서는 정상적으로 동작하지 않는데요

예를들면
mknod /dev/xx c 100 1 <--정상동작
mknod /dev/xx c 100 2 <--동작에러

결과가 나옵니다

이런 연관성은 어디서 찾아봐야 하나요?

uyu423의 이미지

리눅스 GDB 에서 disassemble 표시방법을 바꿀수 있을까요?


두 개의 서버가 있습니다.
하나는 GDB 버전

GNU gdb (GDB) Fedora (7.0.1-50.fc12)
Copyright (C) 2009 Free Software Foundation, Inc.

이고 다른 하나는
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 Free Software Foundation, Inc.

입니다. 앞의 것을 2009버전 뒤에 것을 2003버전이라 하겠습니다.

문제는 똑같은 프로그램이라도 2003 버전에서는 메모리가 ebp 기준으로

: cmpl $0xffffffff,0xfffffdb4(%ebp)

와 같이 표시 되는데 2009 버전에서는 esp 기준으로

: cmpl $0xffffffff,0xd4(%esp)

와 같이 표시됩니다. ebp의 위치를 계산하는데 애를 먹고 있네요.
이게 순전히 버전의 차이인지 설정의 차이인지 잘 몰라서 글을 올려봅니다.

Daze의 이미지

리눅스 소켓프로그래밍 엣지 트리거


질문 제목 : 리눅스 소켓프로그래밍 엣지 트리거 질문


질문 요약 :


질문 내용 :

윤성우 저자책 TCP/IP 소켓프로그래밍에서 p383 ~ p386

리눅스 epoll함수로 엣지트리거를 구현하는 건데요(버퍼사이즈를 일부러 낮게 조절)

두대의 리눅스에서 테스트를 하면 클라이언트가 전송한 문자열을 서버는

어느때는 문자열을 다 읽고 , 어느때는 문자열 일부만 읽어서 클라이언트에게 전송한 결과

클라이언트의 화면에서는 이상하게 문자열이 출력 됩니다

로컬에서 서버와 클라이언트 프로그램을 테스트를 하면 클라이언트가 전송한 문자열을

서버는 입력버퍼에 데이터가 없을 때까지 읽어서 클라이언트에게 전송합니다. 그 결과

클라이언트의 화면에서는 클라이언트가 전송한 문자열이 그대로 출력이 됩니다

서버소스 , 클라이언트 소스 같고 테스트환경이 로컬에서 하느냐 두대의 시스템에서 하느냐의

차이인데 왜 이런차이가 나죠???

embeddeds0의 이미지

[CentOS] 리눅스에서 헤더파일 적용시키려면 어떻게 해야하나요?

UNIX 고급 프로그래밍이란 책으로 공부중인데요.

이 책에서 나와있는 대부분 소스코드가 apue.h 헤더파일을 필요로 하더라구요.

그래서 apue.h 파일을 다운받았는데 이 헤더파일을 리눅스에서 컴파일 시 적용시킬려면

어느 디렉토리로 위치시켜야 되나요?

embeddeds0의 이미지

[CentOS] 리눅스에서 헤더파일 적용시키려면 어떻게 해야하나요?

UNIX 고급 프로그래밍이란 책으로 공부중인데요.

이 책에서 나와있는 대부분 소스코드가 apue.h 헤더파일을 필요로 하더라구요.

그래서 apue.h 파일을 다운받았는데 이 헤더파일을 리눅스에서 컴파일 시 적용시킬려면

어느 디렉토리로 위치시켜야 되나요?

HDNua의 이미지

C 인터프리터를 Javascript로 구현하는 도중에... 뭔가 메모리에 대한 종합적인 궁금증이 생겼습니다.

안녕하세요. 뜸하게 나타나는 군인입니다.
제목에 인터프리터라고 썼지만 실제로는 가짜 컴파일러쯤 되는 게 나올 것 같은데,
KLDP 여러분들의 조언이 필요하여 질문드려봅니다.

-----
1. 서론
저는 현재 부대 휴게실 컴퓨터로 Javascript를 이용하여 C 인터프리터를 개발하고 있습니다.
(이에 대한 자세한 이유는 http://kldp.org/node/140925)
결론은, 프로그램을 바로 개발하는 것은 안 되니까
코드를 작성하면 그 실행 결과만 텍스트로 보여주는 가짜 해석기를 만들자는 생각에서 출발하였습니다.

msglsj의 이미지

WinApi에서 프로세스를 이름이 아닌 다른 방법으로 구분하는 방법?

WinApi를 공부하는 겸 현재 실행되고 있는 프로세스들의 정보를 전부 불러와서 콘솔창에 출력해주는 프로그램을 하나 만들어 보았습니다.

프로세스를 불러오는 구조체인 PROCESSENTRY32의 멤버변수에
프로세스의 이름을 저장해두는 szExeFile을 보니 특정 프로세스만을 종료시킬 수 있겠다 싶어서
반복루틴에 특정 이름의 프로세스가 발견되면 핸들을 얻어와 종료메세지를 보냈더니 아주 잘 작동 했습니다.

이 쯤에서 궁금해진 것이 똑같은 프로그램이라도 실행파일의 이름이나 프로세스 이름은 얼마든지 바뀔 수 있을텐데
프로세스 이름이 바뀐 한 프로그램을 전부 종료시켜보고 싶을 때는 프로세스의 이름이 아닌 어떤 정보를 기준으로 종료 시켜야 할지 궁금합니다.

모자란 햇병아리에게 조언 부탁드립니다.

nomail의 이미지

[완료] 쉘 스크립트에서 파일 디스크립터 문제

쉘 스크립트 책을 보면서 공부하는 중에 이상한게 있어서 질문 좀 드립니다.

ls -al a aaa bbb 2>&1 > list
ls -al a aaa bbb > list 2>&1

첫번째 줄은 stderr 출력이 stdout로 리다이렉트(복제) 되어 list파일에 최종적으로 stdout과 stderr 출력이 동시에 저장되어햐 될것 같은데
stdout만 저장됩니다.

그리고 두번째 줄은 stdout은 list파일에 저장 후 stderr를 stdout으로 리다이렉트 하는 것 같은데, 결국은 stdout을 먼저 저장했기 때문에
나중에 리다이렉트 된 stderr은 버려질거라고 생각했는데.. 둘다 list파일에 저장됩니다.

책을 봐도 자세한 설명이 없어서 너무 혼란스러운데요. 잘 아시는 분 계시면 왜 그런지 이유를 좀 알려주시면 고맙겠습니다.

MyAbby의 이미지

PHP라는 매트릭스에 살고 있었습니다.

흠, 안녕하세요.

이 글을 우연찮게 봤는데 - http://ko.blog.influx.kr/2012/04/php.html

... 정리는 잘 안되어 잇어도 무슨 말을 하려는지는 확실히 알겠습니다. 뭐, 저 글을 완전히 신봉한다는 것은 아니구요.

PHP를 시작한지 몇년 안되지만, 확실히 뭔가 발목을 질질 끄는 느낌은 있었습니다.

특히, 이름들(함수명, 클래스 등등)을 외우기 어렵다거나, 디버깅이 지옥같거나...

저 글을 보니 딱 PHP가 그리 좋지 않은 언어구나~ 인지하게 되었어요. 그래도 PHP가 웹 발전에 크게 공헌을 했다는 건 변함이 없는 것 같아요.

묻고싶은 건 이겁니다. 다른 언어도 배워보고 싶은데, 어디로 갈아타는 것이 좋을까요?

돈 안들고, 리눅스에서 돌릴 수 있는 것들이요. 확실히 ASP는 아니죠 (뭔가 방법은 있으나)

timul16의 이미지

어떤 코드가 좋은 코드일까요? 리눅스 프로그램 top 으로 비교하였을경우

같은 기능을 하는 두개의 프로그램을 테스트 해봤는데요
top으로 보면서 비교해봤습니다

비교 기준은 CPU%와 코드가독성 정도인데요

프로그램 1 : CPU :45%정도를 나타내며, 소스가 가독성이 편리합니다. 제가 딱봐도 쉽게 짜여진코드 깔끔하게 간결한코드

프로그램 2 : CPU : 35%정도를 나타내며, 가독성이 쉽지 않습니다. 코드가 지저분한 느낌

지금 프로그램2로 계속 쓰다가 프로그램1로 사용중인데요
가독성이 편하고 왠지 깔끔하다는 느낌에 top명령으로 보니 CPU부하율정도의 차이가 조금 있는데요
어떤것이 더 괜찮은걸까요?

페이지

프로그래밍 QnA 구독하기