프로그래밍 QnA

jeongheumjo의 이미지

C++ try/catch 문 이야기

요즘 후배사원이 아주 날뛰는 통에 회사 생활이 힘들 지경입니다.

choboja의 이미지

arm idle 명령어


안녕하세요?

ARM Cortex-A8 core( ARM v7 instruction set ) 사용중입니다.

리눅스 커널에서 임의의 커널 쓰레드를 만드는데 동작은 idle상태 혹은 저전력 모드로 진입하고 싶습니다.
리눅스 arm 코드내에서 idle_task의 코드를 보면 결국 cpu_do_idle() 함수를 호출하면서 sleep 하게 되는 것 같습니다.
여러 문서를 통해 알아본결과 WFI 가 sleep상태로 들어갈 수 있는 명령어 같은데 그 전에 몇가지 레지스터를 조절해야하는것 같네요.

혹시 리눅스 커널에서 강제로 arm processor sleep상태로 들어갈려면 cpu_do_idle()을 호출하는것이 맞는가요?
그리고 WFI가 결국은 "nop" 명령어같은데 맞나요?

mwizard의 이미지

[완료]아래 코드 뭐가 문제일까요?(소켓, 메시지큐)

소켓 감시해서 수신이 있으면 처리하고 없으면 메시지큐 열어서
메시지큐 데이터 처리하고 메시지큐에 데이터 없으면 계속 감시하는 코드입니다.

문제는 되다 안되다 하는겁니다.
가장 먼저 실행하는 Bind를 하고 Bind Ack를 수신받는데 전송은 하는데 수신이 되다 안되다 합니다.

그 다음 큐에서 데이터를 읽어와 Deliver를 하는데 하다 안하다 합니다.(메시지 큐를 안읽어 옵니다.)

Deliver를 보낸 후 Deliver Ack를 받고 Report를 받는데, Report는 못받을 때가 훨씬 많습니다.

ps.
poll에서 마지막 인자인 타임아웃은 마이크로 세컨드 맞죠?
코드에서 ^ ==> % 입니다.(코드에 %가 들어가면 이상하게 보여서요..

tatchi의 이미지

pthread_create 인자에 대해

pthread_create 함수에 전달하는 인자에 대해 질문 드립니다.

아시다시피 pthread_create 함수의 원형은 다음과 같습니다.

int  pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*func)(void *), void *arg);

이 때 마지막 arg에 대한 질문입니다.

arg에

chau1128의 이미지

우분투 커널 컴파일 후 재부팅시 문제가 있어서 질문 드립니다.

mount: mounting none on /dev failed: No such device
W: devtmpfs not available, falling back to tmpfs for /dev
mount: mounting /dev/disk/by-uuid/4b481593-4b49-4a71-8b3c-acad0d013032 on /root
failed: no such device
mount: mounting /dev/ on /root/dev failed: No suh file or directory
mount: mounting /sys on /root/sys failed: No suh file or directory
mount: mounting /proc on /root/proc failed: No suh file or directory
Target filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.

kieslv의 이미지

리눅스 디바이스 드라이버(USB) Hot Plug 기능에 대해서...

장치를 연결할 경우 특정 드라이버가 로드 될 수 있도록 구현하고 싶은데,

참고할 만한 내용을 찾지를 못하겠네요....

혹시 아시는 분 계시나요?? 참고할 만한 내용이나 사이트 또는 책이 있으면

알려주세요...샘플 소스가 있다면 제일 확실할 것 같습니다....ㅠㅠ

bloody의 이미지

java 배열을 참조시킬때...

c/c++에서는 배열중간부터 다른 포인터로 접근이 가능한데요.

BYTE buffer[100]
BYTE *tmp_buffer = buffer + 50;

java에서는 동일하게 하려면어떻게 해야 하나요?

byte buffer[] = new byte[100];

byte tmp_buf[] = buffer + 50; <==== 에러남

위처럼 하니까 에러나네요..
답변 부탁드려요.

jinjin123123의 이미지

다른 쓰레드에서 fgets 블록상태를 해제하는 방법을 알고싶습니다. 도와주세요ㅠ

한 스레드에서 fgets 를 사용하여 stdin에서 입력받을때까지 블록 상태로 대기중일 때

다른 쓰레드에서 stdin으로 데이터를 입력시켜서 fgets의 블록 상태를 해제시키는 방법을 알고싶습니다.

익명 사용자의 이미지

텍스트 파일의 문장들을 파싱하여 변경하는 것이 어렵네요

[ AAA ]
xxx =
yyy =
zzz =
xxx =
yyy =
zzz =
 
[ BBB ]
xxx =
yyy =
zzz =
xxx =
yyy =
zzz =
 
[ BBB ]
xxx =
yyy =
zzz =
xxx =
yyy =
zzz =
 
[ CCC ]
xxx =
yyy =
zzz =
xxx =
yyy =
zzz =

위와 같은 포맷의 데이터를 저장하고 있는 파일이 있습니다
동일한 키워드가 2개 이상이기 때문에 키워드로 파싱하기에는 좋은 포맷이 아니라고 생각하지만 제가 권한이 없어서 포맷 자체를 바꿀 수는 없습니다

저는 위에서부터 두번째 [ BBB ] 섹션에 있는
첫번째 xxx 값, 첫번째 yyy 값, 첫번째 zzz 값, 두번째 xxx 값, 두번째 yyy 값, 두번째 zzz 값을
그때그때 변경해주어야 하는데
몇 번째 xxx를 변경해주어야 하는지는 매개변수로 받아서 결정됩니다

페이지

프로그래밍 QnA 구독하기