프로그래밍 QnA

toaamf의 이미지

avltr를 공유메모리 영역에 맵핑할 수 있나요?

안녕하세요..
avltr를 이용해서, 작업을 하고 있는데요.
단일 프로세스에서 사용하면, 잘 되는데,
avltr를 공유메모리 영역으로 맵핑해서 이용하려고 하면,
검색이 잘 되지 않네요..

즉, A Process에서 avltr에 데이터를 넣고, 다시 검색하는 건 잘되는데,
A Process에서 공유메모리 영역에 avltr를 맵핑시켜서, 생성하고, 데이터를 넣은뒤에,
B Process에서 공유메모리로 접근해서, avltr를 검색해보면, 검색이 안됩니다.

avltr_create부분의 소스를 보니,
xmalloc()을 이용하도록 되어있던데, 그렇다면, 공유메모리가 아닌, 자신의 프로세스의 메모리에 생성을 하도록 되는건가요?

maner-07의 이미지

QT의 Qsocket으로 만든 client에서 C socket으로 만든 서버로 데

안녕하세요.
클라이언트에서 서버로 특정 파일 네임을 전송하면
서버에서 그 네임에 맞는 파일을 클라이언트로 전송해 주려고 합니다.
제가 사용하려는 방법은 TCP를 이용한 것인데요.
우선 [server]의 경우 C socket을 이용, 다음과 같이 작성했습니다.
...
nbyte = read(accp_sock, buf, MAXLINE);
buf[nbyte] = 0;
printf("[%s], [%d]\n", buf, nbyte); // 확인 위해
...
그리고 [client]는 qt의 Qsocket을 이용해서 다음과 같이 작성했습니다.
...
char buf[MAXLINE+1] = {0};
strcpy(buf, "xxx.txt");

kimes의 이미지

C프로그래밍 자료구조..

C++에서 작업을 하면 STL이라는 막강한 자료구조가
큰 힘이 되는데요..

리눅스 환경에서 순수 C로 작업을 하실때
추천할 만한 잘 만들어진 자료구조 있나요?

뭐 리스트 큐 스택 이런것들이요..
해쉬맵 이런것도 필요하겠네요..

glib에 얼추 비슷한 구조가 있는데
검색해 보니 별로들 않쓰시는거 같아서요( gtk작업하실때 빼고..)

추천 부탁드립니다.

embster의 이미지

sprintf format 부분 질문

if (image.valid(pickx,picky)) {
            moremsg.sprintf("(%d,%d)=#%0*x ",
                          pickx, picky,
                        image.hasAlphaBuffer() ? 8 : 6,
                          image.pixel(pickx,picky));
            message += moremsg;
        }

위 소스 안에 sprintf format 부분에서 #%0*x 이런식의 포멧은 처음 봐서.. 어떤식으로 되는건지 잘 모르겠습니다..
image.hasAlphaBuffer() ? 8 : 6, 여기서 8이나 6이 어느부분에 대입되고

guuidy의 이미지

kdesktop 설치시에....

KDE 디렉토리에 깔라고 하는데 그게 무슨말인가요?? ㅡㅡ??
안깔면 환경변수를 변경해야한다네요..

제가 궁금한 것은 KDE디렉토리의 위치입니다. :D

리눅스는 한소프트리눅스 2005입니다.

buleless의 이미지

c로 주소록 짜기인데..

파일을 불러와서 이름 나이 성별로 검색하여 출력하는 것 인데요 ;
전체출력만 되네요...
좀 도와주세요..
검색을 하니까 전화번호부가 저장되어있지 않다고 그러네요..ㅠ[code:1]
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

typedef struct address
{
char name[10];
int age[10];
char add[50];
char tel[20];
char sex[10];
}TEL;

TEL book[100];
int top=0;

void name();
void sex();
void end();

dorado2의 이미지

cpp에서 precision 변경...

현재 redhat 7.1, gcc 2.96에서 작업중입니다.

윈도우에선 돌아가는 코드가 리눅스에서 안 돌아가고 있습니다.

이유를 찾아봤더니, 아래와 같은 assert 에러인데...

assert(val>=0.0f);

-0.02 * 50 + 1.00 이 값이 윈도우에선 0으로 나오는데,

(위에서 -0.02 는 1/50의 결과입니다. 이것도 영향이 있을듯)

리눅스에선

-0.00000000000000002082 로 나오네요.

(0이 소숫점 아래 16개..)

precision 문제인 것 같은데, cpp에서 보면 setprecision 같은 함수의 경우는 cout 과 같이 쓰여서 출력시의 자릿수를 고치는 것 같은데, 이건 아닌 거 같고...

freezm7의 이미지

현재 프로세스의 메모리 사용량을 알 수 있나요?

임베디드 리눅스에서 프로그래밍 중이라,
PC처럼 큰 가상 메모리를 사용할 수가 없습니다.

그래서,
Out of Memory: Killed process 377 (app.exe)

이런 메시지를 뿌리면서 죽는데요. (근데 왜 저런 라인이 pid 만 다른 줄이 한꺼번에 10줄이 넘게 나오는지도 궁금하네요)

도대체 메모리를 얼마나 쓰고 있는지 실행시간 중에 알 수 있는 방법이 있을까요? (프로그램 코드 상에서요...)

도움 부탁드립니다.

rainblow의 이미지

free명령을 통해서 나오는 cache memory의 값이 증가하는데..

어떤 경우에 이값이 증가를 할까요?
서버를 리부팅 하기 전까지는 지속적으로 증가를 하는군요.
과거의 경험으로 보면 웹서버나 기타 서버에서 아주 큰 로그파일을 자르지 않고 계속 write할때에 증가했었던것을 알고있는데요,
그렇지 않고 어플리케이션에서 signal처리를 잘못해서 남게되는 메세지로 인해서도 cached메모리가 증가할수 있나요?

/var/log/messages를 보니,
signal처리를 잘못했다는 로그가 지속적으로 남던데..

Quote:
application bug: XXXApplication has SIGCHLD set to SIG_IGN but calls wait().
gudokim의 이미지

doxygen에서 관련 #define 들을 간편하게 grouping 하는 방법?

아래 소스는 doxygen에서 grouping 하는 것을 테스트 해본것입니다만... 좀더 간편한 방법이 없을까요??
원래는 라인끝 주석으로 보기에 간편했습니다만...
문서화 목적으로 doxygen에 맞게 수정하다 보니...
좀 정신없어 지는군요....
아무리 문서화 라지만... 코드가 넘 조잡해지는거 같아서..
좋은 조언 부탁 드립니다.
----------------------- 수정 전 --------------------------
// instruction sets for SPI EEPROM
#define WREN_CMD 0x06 // set write enable latch
#define WRDI_CMD 0x04 // reset write enabme latch

페이지

프로그래밍 QnA 구독하기