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

hsnks100의 이미지

vim 에서 lambda 를 파라메터로 전달 할 때 indent 문제.

removeMessage(mail["no"].asInt(), mail["memberID"].asInt64(),
[=](Json::Value r)
{
if(r["result"]["code"].asInt() != GDSUCCESS)
{
av->removeFromParent();

wkdjjywkd의 이미지

SISPIPE 가 문제가 아니였나 봅니다.

초짜 리눅스를 사랑하고 싶은 C 코더.. 입니다.

제가 이번에 서비스서버를 모니터링하는 Client를 만들었습니다.

근데 이놈이 불규칙적으로 죽어버리길래.. 구글링하다보니 SISPIPE를 알게되어서.

signal(SIGPIPE, SIG_IGN); // ignore SIGPIPE
요렇게 막아주었습니다.

네!! 갑자기 죽는일은 없어졌습니다.

하지만.. 이번에는 쓰레드한놈이 의문사 했습니다.. 정확히는 코드가 block 되었습니다.
시그널로 강제종료하였는데(종료시 2초의 딜레이를 주었습니다.) 갑자기 block되었던놈이 디버깅 메시지 몇줄 찍더니 종료되는 것 입니다.

그래서 다시 구글링을 하였더니 mutex의 임계영역 접근이 의심이 들어서

pthread_mutex_lock(&mutex_flag);
pthread_mutex_trylock(&mutex_flag);으로 바꾸고 기약없는 테스트 중입니다.

deede의 이미지

uboot에서 jpeg library 포팅

혹시 이제까지 uboot에서 jpeg library사용한 사례 없을까요?

커널에서는 많이 포팅되어 사용되는것 같은데... uboot에 올리기가 쉽지 않네요.. ㅠㅠ

dbsthqkf의 이미지

IPC 함수들의 식별자와 key의 차이가 뭐에요?

semaphore함수 중에서 semget이라는 함수가 있습니다.

int semget(key_t key, int nsems, int semflg);

여기서 key와
semget함수로 반환되는 semaphore id의 차이는 무엇인가요? ㅠㅠ

(아래는 semget에 대한 설명을 가져온 것입니다.)

dltkddyd의 이미지

메모리 해제 delete에 대해서...

int a=*(new int(20));

int* a=new int(20);
delete a;

후자의 코드는 메모리를 명시적으로 해제하기 때문에 메모리 누수 문제는 발생하지 않는다고 확신할 수 있지만 전자의 코드는 어떻게 되나요? 메모리 누수가 발생할까요?

bluebear2706의 이미지

free 에러 문제

int main(void){
Data_b* data_b = NULL;
Data_a* data_a = NULL;

CreateDataA(&data_a);
CreateDataB(&data_b, &data_a);

printf("1 wrappedkey = %p, pData = %p\n", data_a, data_a->pData);
printf("1 data_b = %p, pData = %p\n", data_b, data_b->pData);
Data_b_Release(data_b);
Data_a_Release(data_a);
printf("1 wrappedkey = %p, pData = %p\n", data_a, data_a->pData);
printf("1 data_b = %p, pData = %p\n", data_b, data_b->pData);

return 0;
}

appleinu의 이미지

kernel code 의 nor flash 에서 odd data length 처리를 해주나요?

안녕 하세요.

현재 nor flash 쪽 write 하는 부분을 porting 해보고자 합니다.
헌데 block 단위로 들어올때를 빼고, odd length 로 들어오는 부분에 대한 write 는 하지 않는 것 같은데,
혹시 관련된 팁을 얻을 수 있으면 감사 드리겠습니다.

새해 복 많이 받으세요~

Macuro의 이미지

[WINAPI] 메시지 루프에서 메시지 프로시저로 들어가기 전에 메시지를 검출하여 처리하고 싶습니다.

제목대로 입니다.
다른분이 만든 엔진을 사용 중인데, 메시지 프록으로의 접근이 막혀있어서 어떻게 해볼까 하다가 이런 방법을 택했는데요.

while( msg.message!=WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
if (msg.message == WM_SETCURSOR)
{
SetCursor(LoadCursor(hInst, MAKEINTRESOURCE(IDC_CURSOR3))) ;
continue ;
}
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
~~~~
}
}

dreampia의 이미지

Linux에서 mq_open()시에 ENOMEM 조치 방법을 알고 싶습니다.


struct mq_attr qattr;

qattr.mq_maxmsg = 120;
qattr.mq_msgsize = 16072;

mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);
mq_open(.., .., .., &qattr);

위와 같이 호출하면 시작하자마자 errno==12(ENOMEM) 에러가 발생합니다.
mq_maxmsg = 10;으로 하면 중간쯤에서 mq_maxmsg = 1; 로 하면 에러없이 잘 넘어가구요..

어디선가 POSIX 메시지 큐에 대한 size를 제한 하고 있는 것 같은데
어떤 값들을 확인해 봐야 할까요?

/proc/sys/fs/mqueue에서 msg_max=120, msgsize_max=16384, queues_max=256으로 세팅했습니다.

xoduddk123의 이미지

리눅스 부팅시에 ip 라는 명령어가 어떤 역활을 하는지 알고 싶습니다.

bin 디렉토리안에보면 ip 라는 명령어가 있는데요

이 명령어를 삭제하면 리눅스 부팅이 안되는데

리눅스 부팅과정중에서 ip라는 명령어가 어떤 역활을 하는지 알수 있을까요??

기냥 ip관련 명령어인거같은데 부팅하고는 관계가 없는 명령어 인거같은데 있고 없고에 따라서 부팅이 되고 안되고 그래서

부팅시에 어떠한 용도로 쓰이는지 잘 모르겠습니다.

upstart job *.conf 파일에서도 사용하지 않고요...

혹시 아시는분 계신가요 ??

페이지

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