프로그래밍 QnA

ndmnwg의 이미지

커널 블럭 디바이스 드라이버의 make_request()에 대해서 질문

리눅스 커널 블럭 디바이스 드라이버에서 make_request()에 들어오는 I/O를 컨트롤하기 위해

wait_event()이나 spin_lock()을 사용해서 대기하고 쓰레드에서 간단한 처리를 한 뒤 다음 코드를 진행하게 하려고 하는데요

해당 블럭 디바이스에 I/O가 발생하면 멈춰버리네요.

make_request()에서 wait_event()이나 spin_lock()을 쓰면 안되는 건가요?

wait_event()이나 spin_lock()을 안쓰고 하면 정상적으로 동작하는데 동기화 문제 때문에 사용을 해야되거든요.

youdotan의 이미지

임베디드 완전 초보의 mips 관련 질문

저는 .. 소프트웨어 전공이 아닌데 소프트웨어 부서에서 일하고 있습니다....
그래서인지 기본적이어도 틀에서 벗어나면
해결이 힘든 상황이 자주 다가오네요

질문은 총 3개입니다.
잘 부탁드리겠습니다.

1. 컴파일러로 줄곧 Makefile에서 arm을 사용해 왔습니다.
새로 추가되는 기능을 올리기 위해 소스코드를 받았는데
make를 하면

/bin/sh: mips64-octeon-linux-gnu-gcc: 명령어를 찾을 수 없음

아무래도 mips 관련한 부분이 없어서 그러겠죠 ?
어떻게 (전 완전 모르는 사람이다 생각하고 차근차근(?)) 설치해야 하는지 방법을 먼저 부탁드리구요

2. 1과 같은 경우
Makefile을 수정해서 arm으로 하게 하면
장치에 바이너리를 올렸을 때 문제가 생기나요 ?
예를 들면 칩 종류에 따라 컴파일 방식이 영향을 줄 수 있나요 ?

3. 위와 같은 부분을 원리부터 잘 해결해 나갈 수 있는
도서 또는 사이트 있음 추천 부탁드립니다.

Backer의 이미지

MFC에서 급한 질문입니다.

다른 프로쎄스에 SHIFT와 마우스클릭한 사건을 보내야 하는데 잘 안되요

SendNotifyMessage(g_hDestHwnd , WM_LBUTTONDOWN , MK_SHIFT | MK_LBUTTON , g_lMouePos);
먼저 이것을 호출하고
Sleep(1000) 하였다가
SendNotifyMessage(g_hDestHwnd , WM_LBUTTONUP , MK_SHIFT | MK_LBUTTON , 0);

을 호출하니 목적프로쎄스에 그냥 마우스클릭한 사건만 나와요

어케 해야 하죠?

도움 요청.

급해요.

Giyatto의 이미지

C언어 이용하여, 웹에서 검색한 결과 텍스트로 가져오기.

c언어 프로그래밍 중입니다.

예를들어, c언어 프로그램에서 "아이폰"을 입력하면
원하는 사이트(예, 위키피디아)에서 검색 결과를 텍스트로 가져오고 싶습니다.
텍스트 파일로 가져와도 좋고, 메모리에 저장해도 좋습니다.
방법을 도저히 알 수 없네요.ㅠ 도와주세요.

overthesky1의 이미지

어셈블리 질문잇습니다.

계속 잡고있어도 딱히 해결해가는 방법이 떠오르지 않아 질문올립니다..

boss0327의 이미지

질문이요!!!!

안녕하세요~!!!
오디오 데이터 소켓전송 프로그래밍도중에 궁금한 점이 있어 질문 올립니다!~!!
일단 원 소스입니다.

void* audio_audio(void*arg)
{
unsigned char *sPtr, *sPtr1, *sPtr2;
unsigned char out_buff1[4];
unsigned short out_buff[NUM_OF_AUDIOIN_CHANNEL];
unsigned int count;
int ret;

while(1)
{
usleep(1000);

if(play_start)
{
read(raudio, (char *)audiobuf, abuf_size);
sPtr = audiobuf;

sPtr1 = (unsigned char *)&out_buff;
count = (abuf_size/sizeof(out_buff));

msjee의 이미지

pthread mutex 관련 질문이요

간단한 멀티쓰레딩에서 락 사용법 질문드려요.

4개의 쓰레드가 크리티컬섹션 한부분에 들어가려고 하는데 거기엔 락이 1개 걸려있습니다.

제가 알고싶은건 락이 제대로 작동하는지를 알고싶거든요

그래서 해본것이

return_val = (pthread_mutex_lock(&mymutex));
	 printf("return_val: %d\n", return_val); 

이거인데 리턴벨류가 항상 0이나오는거같거든요.

락이 제데로 작동되면 1개의 쓰레드가 락을 걸면 나머지 3개는 락이없어서
리턴벨류를 프린트 해야되는거아닌가요?

지금 든생각인데 프린트도 크리티컬 섹션 안쪽이라 프린트를 못하나요? --;;

어떻게하면 락이 제데로 작동하는지 알 수 있죠?

그리고

질문이 또하나 있는데요..

sacredone의 이미지

[C] 문자열 파싱할때 질문점 드릴게용

문자열 형태가

1 test1 this is first test
2 test2 this is second test
3 test3 this is third test

이런형태의 문자열이 있는데요

부분별로 구별해보면

"숫자" + "공백" + "이름" + "공백" + "값"
1 test1 this is first test
2 test2 this is second test
3 test3 this is third test

이런식으로 구성된 문자열들이있는데 파일이 있는데
이파일을 읽어들여 파싱하려 합니다

맨처음에 숫자로 되있는 부분을 어떤식으로 파싱하면 좋을까요?

저 문자열 하나를 buffer 에 담고
atoi(buffer) 해버리면 나오긴하는데

numna의 이미지

C++ 파일입출력시 dat 파일이 4GB가 되는 에러

dat파일 생성하고
그 폼에 맞춰서 파일 입력하는 과정에서
프로그램이 멈추고 다시 정신을 차렸을땐 dat파일이 4GB가 되어있습니다.
혹시 비슷하거나 같은 증상 겪으셨던 분 안계시나요?

페이지

프로그래밍 QnA 구독하기