프로그래밍 QnA

plrmsu의 이미지

boost unordered map insert 와 find

안녕하세요

boost unordered map을 사용중 문의가 있어 이렇게 글을 쓰게 되었습니다.

멀티 쓰레드 환경에서 공유 자원으로 unoredered map 사용하고 있습니다.

delete는 사용하지 않고 find 와 insert만 사용하고 있는데

성능상 이슈로 lock을 걸지 않고 사용하고 있습니다.

lock을 걸지 않을 경우 find도중 insert를 하게 되면 iterator가 꼬여

find에서 error 발생할 수 있다는 생각을 했는데,

거꾸로 insert에서 core를 떨구면 프로세스가 죽는 현상이 생기고 있습니다.

segment fault에 대한 signal 핸들링은 하지 않고 있습니다.

혹시 이런경험 있으신가여?

tango의 이미지

리눅스 디바이스 드라이버관련 질문이 있습니다.

디바이스 드라이버를 공부하는 학생입니다.
공부하는 도중에 궁금한게 생겼는데 제가 지금까지 책을 봤던 부분중에서는 해결할 수 없을꺼 같아서 이렇게 도움을 청합니다.

일반적으로

fd = open(DEVICE_FILENAME, O_READ);

이런식으로 어떤 디바이스 파일을 여는 open함수가 있다고 하고
file_operations 구조체에 open 필드에 해당하는 함수가

int xxx_open(struct inode *inode, struct file *filp)
{
....
}

라고 했을때 책에 있는 예제도 그렇고 xxx_open 함수가 return 0를 하는데 어떻게 파일 디스크립터에는 open했던 파일에 대한 값이 들어가는지...........
머리속으로 연결이 안되요ㅠㅠㅠ 아직 공부를 시작한지 얼마 안되서 그런거 같은데 이부분에 대해서 이해하려면 어떤 부분을 찾아보는게 이해하는데 도움될지

답변 부탁드립니다.

Tango 올림

minyoung347의 이미지

c++, csv파일 정렬 후 저장 문제

안녕하세요,
C++로 대용량 csv 파일을 다루고 있는데 작업 도중에 문제가 생겼습니다.
설명 드리기 위해서 문제를 단순하게 만들었습니다.

먼저 test.csv 파일을 읽어서 숫자를 기준으로 정렬하고 그 결과를 out.csv파일에 저장했습니다.
그 후에 out.csv 파일을 불러와서 getline,while문으로 한줄한줄 화면에 출력했습니다.

out.csv파일을 읽어와서 화면에 출력할 수 있다고 생각했는데
out.csv파일에는 정렬된 결과가 저장되었지만
화면에는 아무 정보도 출력되지 않습니다.

만약, test.csv 파일이 (9x2)이 아니라 (Nx2) 정도가 되면, 전체가 아닌 일부분만 화면에 출력 됩니다.
(제 pc를 기준으로 N=2500 이고, N=1000 일 때는 아무것도 출력 되지 않습니다.)

이런 문제가 생기는 이유에 대해서 알려주시면 감사하겠습니다.

jongmiss의 이미지

[C++] 윈도우 부팅 후 서비스 시작 StartServiceCtrlDispatcher 1063 error 문의드립니다.

안녕하세요.
서비스 시작시 Fail 이슈가 있어 문의드립니다.

OS 환경은 windows xp sp3 이고, 해당 서비스는 "자동" 으로 등록하였습니다.
문제는, 윈도우 부팅 후에만 서비스 자동 시작 시 StartServiceCtrlDispatcher 함수에서 1063 Error 로 실패합니다.

애매한 부분은, 성공할때도 있다는 것입니다.

혹시, 살펴봐야 하는 부분있다면, 조언 부탁드랍니다.
(부팅시, CPU 100% 가 되는 타이밍이 있는데 해당부분과도 관련있을까요?)

=========================================================

해당 코드 첨부합니다.

jhs0315의 이미지

C언어 초보 질문

안녕하세요
c언어 공부 시작한 지 얼마 안된 학생입니다.
4천만명을 버블소트로 돌려서 걸리는 시간을 측정해야 하는데요,
오류를 어떻게 해결해야 할 지 모르겠습니다 ㅠㅠ
4000만을 어떻게 입력해야 하나요... 도와주세요

aabram의 이미지

MFC(C++) vector 와 Vector를 memcpy하려합니다.

아래와 같이 작성했는데 에러가 납니다. 이런 저런 방법으로 검색중인데 찾기가 어렵네됴..... 방법문의 드립니다.
vtime은 CSting입니다.

memcpy(&vAtime[0], &vtime[0], sizeof(vtime));

이렇게 해도 안됩니다.
memcpy(&vAtime[0], &vtime[0], sizeof(vtime[0]*vtime.size() );

sky1027의 이미지

안드로이드(java)하고 C 언어 통신하려고 하는데요

안드로이드(클라이언트)에서 C(서버)로 전송하는 프로그램을 짜고 있는데요

안드로이드에서 byte data[] = {(byte}0x1A, (byte}0x21, (byte}0xB3, (byte}0x41, (byte}0x1C};
이렇게 선언하였는데요,, 이 데이터를 socket_out.println(data); 이렇게 전송하였는데요

C에서 전송받은 데이터를 위와 동일하게
1A, 21, B3, 41, 1C
이렇게 출력하고 싶은데요
이와 전혀 다른 값이 출력이 되네요.. 어떻게 해야할까요?

adzoo의 이미지

소스파일, 목적파일, 실행파일 크기와 관련해서 궁금한게 있습니다.

a.c 파일이

#include <stdio.h>
 
int main(void)
{
printf("AA\n");
}

이렇게 있다고 가정하고요.

 #include <string.h>, #include <stdlib.h>
등등 을 선언하면
a.c 소스파일 크기가 커지잔아요.

근데 컴파일을 했다고 가정하면.,,
a.obj 파일일 경우

페이지

프로그래밍 QnA 구독하기