프로그래밍 QnA + 설치 및 활용 QnA + 질문

marionette10의 이미지

read함수 select 함수.

read 함수로 패킷 수신된 것을 읽을때 일정시간동안

read의 리턴값이 없으면 무한루프를 빠져나오고싶은데

select 함수로 어떻게 사용하나요>?

while(1){
pkt_size=read(port->sockfd, buff, 1600);
port->stat.rxPackets++;
port->stat.rxBytes += pkt_size;
(void)signal(SIGINT, ctrl_c);
if(pkt_size<=0){
close(port->sockfd);
pthread_exit((void *) 0);
break;
}
}

raphael4의 이미지

리눅스 임베디드 장비에서의 usleep이 cpu 제어권을 잃어 버리는 문제

linux kernel 2.6.x 올라가 있는 장비에서

쓰레드 4개를 돌리는 프로그램을 만들어 쓰는데

가끔씩 장비가 멈추더군요

디버깅을 해봤더니 usleep 을 쓰는 부분에서 쓰레드가 cpu제어권을 못 돌려받아

영원히 정지된 상태 처럼 보였습니다

usleep이 문제가 많은것은 알고 있지만 cpu제어권을 영원히 잃어 버리는 문제는 처음보는거라

굉장히 당황스러운데

여기서 usleep 관련된 글을 검색해서 찾아 보고는 있는데

nanosleep을 써도 같은 문제가 발생 되더군요

근본적인 문제를 찾아 보려고 하는데

어디서 부터 접근해봐야 할지 모르겠습니다

usleep이 cpu 제어권을 잃어 버리는 현상에 대해 자세한 정보를 알고 싶습니다.

dnjswns2942의 이미지

jnetpcap 라이브러리로 직접 ip주소에 연결방법 문의..(자바)

안녕하세요 자바로 jnetpcap 라이브러리를 써서 패킷받아 pcap파일 형태로 저장하는 프로그램을 짜보고 있습니다.
몇일전 특정 router(주소:192.168.0.1)에 ap탐지 할 수 있는 kismet을 실행시킨후

Socket server = new Socket("192.168.0.1", 2502);
소켓 명령어로 패킷을 받는 것 까지 하였습니다.
그후에 pcap파일 형태로 저장하는데 막히는 부분이 많아 질문을 올렸구 jnetpcap 으로 가능 하다구 해서 다시 시도 하였습니다.

jnetpcap으로 파일덤프 하여 pcap파일로 저장까지 성공 하였습니다.
http://jnetpcap.com/examples/dumper <-이 예제 프로그램을 약간 수정하여 성공.

qnfw3174의 이미지

jpeg+exif -> bmp

안드로이드에서 카메라 액티비티로 찍어서 pc에 전송해주고 pc에서는 바이트 배열에 저장해놨는데 이거 보니 jpeg포맷에 exif데이터가 붙어있습니다.
영상처리때문에 순수 bmp포맷으로 변경하고 싶은데
1. 안드로이드에서 애초에 bmp로 찍는다. 안되는 것 같습니다.
2. jpeg+exif를 bmp로 바꿔주는 라이브러리... exif때문에 왠만한 공개된 소스로는... 안되네요.
3. 이미지 데이터 부분만 짤라서 exif의 헤더정보랑 결합, 수작업으로 bmp 파일을 만든다.
3번째 방법을 해보려고하는데 제가 앞에서 놓친부분이나 저 작업을 하는데 도움이 될만한 조언좀 해주시면 감사하겠습니다.

comgate3의 이미지

MS 오피스 문서를 PDF로 변환

각종 문서(doc, docx, ppt, pptx, xls, xlsx, odt, odp, ods, txt, html 등) 를 PDF로 변환하는 컨버터 프로그램을 짜려고 합니다.
몇일에 걸쳐 이 분야에 관한 정보를 모아봤는데 아무리 보아도 궁금증이 해결되지 않는 부분이 좀 있고 해서 결국에는 글을 올립니다.

사용 언어 : 자바
OS : 리눅스

질문

1. Apache Tika란 toolkit으로 각종 문서를 파싱할 수 있다는걸 알게 되었는데..일단 Tika 공식 사이트나 Tika에 쓰이는 각종 파서들 (Apache Poi)의 공식 문서들을 보면 Text Extraction에 기능이 맞춰져 있다고 쓰여있습니다. 그런데 검색을 해보다 보면 Tika를 통해 오피스 문서를 html/xhtml로 그리고 궁극적으로 또다른 라이브러리를 통해서 html을 pdf로 변환이 가능하다고 하는데 맞는건가요?

milkrookie의 이미지

리눅스에서 malloc동작원리가 궁금합니다.

제가 malloc함수를 구현을 했는데요. brk와 sbrk를 이용해서 구현을 했습니다.
메인함수가 시작되면 brk와 sbrk로 특정 메모리 영역을 할당을 해버리고 그 메모리 안에서만 malloc을 사용하는데요.
제가 작성한 malloc함수로 프로그램을 짜서 실행을 시키면 작동이 잘됩니다.
그런데 메모리 할당된 모습을 보려고 제가 작성한 프로그램을 pin tool을 이용해서 돌리니 메모리를 할당할 수 없다고 에러메세지가 발생해버리네요...(에러메세지는 sbrk를 이용해서 할당이 실패해 반환값이 -1이 나오면 출력하도록 제가 만든 메세지입니다.)

메모리를 처음에 할당하는 방법은 sbrk(Memory_size)를 이용해서 할당을 했습니다.(Memory size는 1.7G정도로 잡은 상태입니다. OS는 우분투 12.04 64bit버전이고요.)
그냥 기본 malloc을 이용해서 작성하면 pin tool에서 잘 돌아가는데 제가 만든 malloc을 이용하면 왜 안돌아가는지 그 이유를 모르겠습니다.
혹시 조언좀 해주실수있나요??

rladmsfhr의 이미지

함수 포인터 질문드립니다.

DLL파일을 LoadLibrary()까진 성공해서 이 DLL파일안에
ReadSerialNumberDLL()이란 함수를 사용하고 있는데요.
이 함수가 간혹 아무이유없이 실패했다고 FALSE를 리턴해주네요;;
그래서 LoadLibrary는 잘돼서 함수가 잘못됐다고 보기엔 힘들지만 일단
함수가 제대로 할당됐는지 함수주소값을 출력해볼려고합니다.

// .header
typedef BOOL (WINAPI *ReadSerialNumberDLL)( CHAR * , CHAR )

//.cpp
ReadSerialNumberDLL ReadSerialNumber;

이렇게 선언되어있구요

printf("ReadSerialNumber : %x , &ReadSerialNumber : %x", ReadSerialNumber, &ReadSerialNumber);

서론이 좀길었네요 -_-;위에 문제에 대해 혹시 좋은 해결방법이 있나 여쭤보고싶어서 주저리 말했구요..

astzlra955의 이미지

Linux의 Swap 파티션에 강제로 넣는 방법이 있을까요?


보통 swap 파티션을 생성하고, swapon을 하면,
linux가 알아서 RAM의 내용을 적당량 만큼 swap partition에 집어 넣는 것으로 알고있습니다.

제가 현재 필요한 기능은,

1. 제가 임의로 명령이나 함수를 사용해서 RAM의 내용을 swap partition에 집어넣는 것이고

2. swap partition에 들어가는 data를 최대한 많이 - 즉, RAM을 최대한 비우고, swap을 최대한 채우고 싶습니다.

이러한 기능이 linux에 구현되어있는지 궁금하고,

아니면 제가 어떻게 구현할 수 있는 방법이 있는지 알고싶습니다.

Kernel은 3.1 버전을 사용중이고, 상위 버전으로 올리는 것도 가능합니다.

dhyoon1의 이미지

자바에서 JFileChooser 와 같은역할을 하는 클래스 C++에선 뭐가 있나요?


안녕하세요~

java 에서 ui에서 파일을 선택할수 있는 클래스인 JFileChooser 와 같은 기능을 하는 클래스가

C++에서도 있나요??

그리고.. 제가 리눅스에서 C개발만 해봐서... 비쥬얼스튜디오 에서 c++ 작업은 처음인데.... 간단한 파일탐색기와 같이 폴더 및 파일을 선택할수 있는

소스를 짠다면... 프로젝트를 MFC 로 선택해서 생성해야 하나요?? 도움좀 부탁드립니다 (_ _)꾸벅

khalisto의 이미지

쉘스크립트 while 문 관련해서

안녕하세요. 쉘스크립트를 이용해 아래와 같은 루프를 작성했는데

------------------------------------------------------
#!/bin/sh

echo "선택하세요"
echo "1.사과 2.바나나 3.오렌지 4.딸기"
echo -n "좋아하는 과일은? : "
read fruits

while [[ $fruits < 1 || $fruits > 4 || $fruits -ge 10 ]]

do
echo "잘못 선택했습니다. 1~4 사이의 숫자만 입력하세요"
echo -n "좋아하는 과일은? : "
read fruits
done
-------------------------------------------------------
대략 위의 형태인데, while 조건에 의해 입력된 값이 1~4 외에 음수( -1 -2 -234728 등) 와 10 이상의 모든 숫자 입력시 do~done 사이의 코드가 실행이 됩니다만

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기