프로그래밍 QnA

koreteck의 이미지

Fedora 13(gcc 4.4.4) pthread_create 후 성능 저하 문제

안녕하세요.

현재 x86-64로 페도로 14를 설치 사용하고 있습니다.

성능이 중요한 코드를 작성하고 있어, 병렬처리를 수행하려고 합니다.

많이들 사용하시는 pthread_create를 호출하여 스레드를 생성하였는데요.

pthread_create를 호출 후 프로그램 성능이 2배 가까이 느려지는 현상이 있네요.

64bit에서 glibc가 4G 이하로 stack을 지원한다는 이야기는 있지만, 지금은 스레드를 최대 4개 생성하고 있습니다.

pthread_create로 스레드 생성 후, 스레드 모듈을 종료하여도 프로그램 성능이 느려지네요.

예를 들면,

void *test()
{
// 아무일도 안하고 종료.
}

main()
{
work(); => 10초 걸림.

pthread_create(threadid, NULL, Test, NULL);

sleep(5); => 스레드 생성 작업의 영향을 최소화 하기 위하여

timan의 이미지

InjectionDefender 이게 뭔가요?

asp 소스 수정 하고 있는 데

mem_sangho    		= InjectionDefender(Trim(RequestForm("mem_sangho")))

이런 코드가 있던데요.
여기서 InjectionDefender 라는 게 있던데, 이거 뭐죠? 구글 해도 거의 안 나오던데...

컴포넌트인가??

kleinstein의 이미지

서버와 클라이언트 사이의 호환성 문제에 대한 아이디어를 구합니다..

안녕하세요.

회사에서 서버와 클라이언트를 동시에 개발중에 있습니다.

그런데 매번 판올림이 있을때마다 서버와 클라이언트에는 새로운 기능들이 추가됩니다.
(기존의 기능들이 변하거나 사라질수도 있겠지만 아직까지 이런일은 경험하지는 못했습니다...하지만 있을수 있다고 치구요..)

그런데.. 나중에 이런 경우 ..

즉 서버와 클라이언트의 버전이 서로 다른 경우...

기존의 호환성은 지키면서 새로운 기능들에 대한 적절한 대처가 필요한데요..

이럴때를 대비한 어떤 깔끔한 해결법이 어떤게 있을까요?

버전번호를 매번 주고받거나 등등의 여러가지 생각은 있지만.. 아무래도 좀더 깔끔하고 일반적인 방법이 있을것 같아서 이곳에 질문을 드립니다.

bandb2002의 이미지

GtkScrolledWindow 의 스크롤을 움직이게 하려면?

수고하십니다.
다름이 아니오라,
window에 GtkScrolledWindow를 언고,
버튼을 누르면, 스크롤 막대가 움직여서
아이템들이 움직이게 하고 싶은데요.

GtkScrolledWindow 의 스크롤을 움직이게하는 함수(?)나 방법을 모르겠어요.

고수님들 부탁드립니다.

bakkus의 이미지

[완료]vi 화면이 가득 안나와요.

vi로 문서를 열어보면 모니터 화면 바닥까지 내용이 안나오고
밑에 15줄 정도의 공백을 둔 채 내용이 나옵니다.
밑으로 내려가면 공백이 없어지면서 내용은 나오지만
첫화면부터 한번에 내용이 나오지 않아 불편합니다.
이전에 같은 증상을 질문하신 분이 있으셨는데
http://kldp.org/node/77469
답변하신분이 없어서 다시 질문 드립니다.
터미널화면은 모니터를 세로로 피벗하여 putty로 보고 있습니다.
OS는 솔라리스10 sparc 입니다.

munhoney의 이미지

const 변수 값 변경하기

const로 된 변수의 데이터를 변경할려고 합니다.

예를 들어.

1 #include
2
3 const int test1 = 0;
4
5 int main()
6 {
7 int* test2 = &test1;
8
9 *test2 = 10;
10
11 printf("Value : %d \n", test1);
12
13 return 0;
14 }

와 같이 할려고 하는데 안되는군요. (당연히 const에 대입할려고 하니 안되는 건 맞지만요..)

일단 이렇게 하면 컴파일은 되는데, segment fault가 발생합니다.

혹시 현재 0의 값을 10으로 변경할 수 있는 방법이 있는지요.

참고로 리눅스 커널 모듈로 개발할 예정입니다.

intmain1202의 이미지

자식프로세스 디버깅하는방법...

자식 프로세스 디버깅하는방법을 모르겟습니다..

디버깅 -> 프로세스 예외

해서 자식프로세스가 나왓을때 자식프로세스를 클릭해서
하는건가요??
그럼 자식프로세스로 자동으로 넘어가는건가요..
근데 안되네요;;

처음에 commandPrompt.exe라는 부모프로세스를 생성하고

start라는 명령을치면 commandPrompt.exe라는 또하나의 같은 프로그램의 자식프로세스가 뜨게끔하는데요
2번쨰 commandPrompt.exe프로세스를 디버깅 하고싶습니다.. 어떤인자가 넘어가는지.. 어떻게 실행되는지

알고싶은데 디버깅이 안되네요...
어떻게 하는건가요..?
데브피아에 질문을 올렷는데.. 무슨말인지를 못알아먹게습니다..
쉽게 설명좀해주시면 감사하겟습니다....

ssamdal의 이미지

동영상 스트림 분석에 관해서..질문있습니다. 고수님들!

이번에 프로젝트로 동영상 스트림 분석을 하게 되었습니다.

기본적으로 mpec2등을 공부하고

직접적으로 동영상 스트림을 분석하는 프로그램을 작성하려고 합니다.

그런데 스트림 파일을 울트라 에디트로 읽을때 처럼 16진수로 화면에 출력하고 싶은데

그게 잘 안되는군요.

기본적으로 ts, tp, trp파일들이라 188바이트로 패킷 형식으로 이루어져 있는데 이 패킷들 단위로 끈어서 화면에 출력을 하고 싶습니다.

기본적으로 malloc을 사용하여 데이터는 메모리에 저장을 하였는데 어떻게 해야 출력이 가능한지 모르겠군요 스트링으로 출력하면 메모장에서 파일 연거처럼은 나오긴합니다.

어떻게하면 16진수로 표현이 가능할까요 고수님들 좀 알려주식 바랍니다.

ldknick의 이미지

간단해 보이지만..사실은 정말 어려운 문제에 봉착했습니다. C언어..

정말 어려운 문제에 봉착했습니다.

한번 풀어 보세요.. 아무리 생각해봐도 해결이 안나네요.

주어진 인덱스 값에 따라서 문자열을 얻어 오는 루틴을 작성중인데...

예를 들어 편의상, 문자셋이 "0", "1", "2" 라고 3개가 주어졌을때, 중복 및 반복을 허용해서 인덱스 번째 위치를 찾는 겁니다.

3번째라고 한다면 "0 0" 을 가져 오는 거고... 6번째가 "1 0" 입니다.

뭐, 제공되는 문자셋의 개수는 변하겠지만.. 어째튼...

중복 조합인줄 알았는데, 보니깐.. 그것도 아니네요...

뭐 메모리 블록 한참 잡아서 배열로 만들어 놓을 수도 있겠지만...그건 최후의 방법으로 하고... 더구나 문자셋의 개수가 많으면..힘들어지니깐..

어쨰튼 어떤 공식이 있을거 같아서...

혹시라도 명쾌하게 해결해 주실분 계시면... 밤세도록 제가 고민해야할 것을 해결해주신 댓가로...

아이폰 기프트 카드라도.. 문자로 쏴드릴께요...ㅠㅠ..... 이거 해결되기전까진 잠도 못자...

kieslv의 이미지

Android 에서 Gadget Driver 등록 방법에 대해 문의 드려요~~~ㅠㅠ

/gadget에 있는 file_storage 드라이버를 app에서 호출하는데 Node 생성방법은 어떻게해야 될까요?
file_storage를 그대로 사용하려는 것이 아니고 제가 수정하여 사용하려고 합니다.
커널에 포함하여 빌드하였지만, /dev에는 생성이 되지 않고, sys/module에만 생성이 되어 있는 상태 입니다.

ehter.c를 포함하여 빌드하였을 경우 장치가 USB Ether로 인식되는것을 확인하였습니다.

제가 하고 싶은것은 장치를 리셋하여 제가 구현한 기능을 전용으로 사용하려고 합니다.
그러기 위해서는 우선 장치가 단일 장치로 리셋이 되어야 할것이고(디스크립터는 수정하였습니다.)
해당 드라이버에 접근하여 IOCTL을 사용해야 할것으로 생각됩니다.

하지만 우선 노드가 생성되지 않아 어떤식으로 접근해야 하는지가 막막하여 문의 드립니다.

페이지

프로그래밍 QnA 구독하기