프로그래밍 QnA

new5244의 이미지

thread 관련 질문...

Linux 에서 thread 프로그램을 테스트 중인데...

main 에서 pthread_create() 를 써서
thread 를 하나 만들었는데...

프로세스 trace 결과 새로 생성된 tread 만 돌고 main 프로세스는 thread 가 생성된 시점부터 먹통이 되네요...

Quote:
root 29029 29015 0 11:49 ? 00:00:00 /usr/local/test
root 29030 19029 0 11:49 ? 00:00:00 /usr/local/test
root 29015 1 0 11:49 ? 00:00:00 /usr/local/test

29015 번이 main 이고
29030 이 새로 생긴 thread 입니다.

Quote:
#strace -p 29015 먹통이라서 CTRL+C 로 종료
detach: checking sanity: Operation not permitted
김영훈의 이미지

구조체 포인트에서 멤버변수에의 접근문제

아래 프로그램을 컴파일 해보면

int main(void)
{
        struct sockaddr_in sock;
        struct sockaddr_in* psock;
 
        psock = &
        sock.sin_addr.s_addr = 1000;
  
        printf("psock->sin_addr->s_addr = %d\n", psock->sin_addr->s_addr);
        return 0;
}

Quote:
memcmp.c: In function `main':
memcmp.c:17: invalid type argument of `->'

이런 컴파일 에러가 뜨네요...

구조체 포인트에서 구조체 멤버 변수에 접근이 불가능한가요?
답변

khaic0c0의 이미지

rand() 함수 관련 질문인데요...

int answer1;

srand( (unsigned)time( NULL ) );
answer1 = rand();

이런식으로 rand() 함수 사용하면,
answer1 값에... 10자리 정도의 숫자들이 랜덤으로 할당됩니다.

그런대 전.. 여기서 두자리만 가져가고 싶거든요.
만약 answer1 값에... 35957092384 이런식으로 값이 들어간다면,

35값만 가져오고 싶어요.

문자열 함수로 가져오면 될듯도 한대 제가 문자열 함수를 잘 모르거든요.
사용법이랑 적당한 함수는 어떤것이 있나요?

그리고 문자열 함수 말고도 다른 방법은 뭐가 있을까요?

hbsnow의 이미지

프로세스간 struct 주고받기+socket

fork(){ // 1번프로세스
while(1){
해당 작업수행으로 링크드리스트 생성
만들어진 링크드리스트를 2번프로세스에게 보냄
sleep(300); //5분마다 수행
}
}

fork(){ // 2번프로세스
1. 1번에서 만든 링크드리스트를 받음
2. 새로운 링크드리스트 생성
3. UI요청시마다 링크드리스트 내용을 Socket으로 보내줌

}

1번 프로세스에서 2번 프로세스로 1번프로세스가 작업한 링크드리스트를 5분마다 2번프로세스에게 넘겨주어야 합니다.

khaic0c0의 이미지

리눅스 파일 고칠때 보면...

리눅스를 사용하는 컴퓨터가 값자기 파워가 나가버리게되면,

다시 부팅할때 손상된 파일 고쳐줄때 /,ㅡ,| 이렇게 계속해서 돌아가면서..
뭔가 하는것처럼 보이고 또 옆에는 퍼센트가 올라갑니다.

제가 궁금한건요...
/,ㅡ,| => 요것이 움직이는것을 만들어 보고 싶습니다.

한... 0.5초 간격으로 번갈아가면서 작때기가 돌아가는것처럼 보이게 만들고싶은데....

어떻게 코딩하면 될까요?

너무 많은걸 바라는건가요?
아니면 이걸 만들때 중요한것

yuleam의 이미지

디바이스 드라이버 모듈 프로그래밍

" 리눅스 매니아를 위한 커널 프로그래밍 " 이란 책으로 리눅스 프로그래밍 공부를 하고 있는데 ....
잘 되지 않는 부분이 있어서 ... 질문 올립니다 ...

[code:1] 1 #include <linux/module.h>
2 #include <linux/kernel.h>
3 #include <linux/malloc.h>
4 #include <linux/fs.h>
5 #include <asm/uaccess.h>
6
7 #define DEVICE_NAME "mydrv"
8 #define MYDRV_MAJOR 250
9
10 static int mydrv_open(struct inode *inode, struct file *file)
11 {
12 if (MAJOR(inode->i_rdev)!=MYDRV_MAJOR)

eminency의 이미지

하나의 실행파일에 대해 하나의 프로세스만 띄우려면..?

질문이 좀 이상할지도 모르겠는데..

C로 짠 a.out이 실행되어서 떠 있는 동안... 다른 터미널로 같은 파일을 실행시키면 실행되지 않도록 하고 싶습니다.

음, 데몬이랑은 좀 다른 거 같은데...-_-
친구가 물어보는데 저도 잘 몰라서리...
rc 스크립트들을 보면 status 옵션으로 데몬이 떠 있는지 알 수 있는데요.. 예를 들면 "/etc/init.d/mysql status"라고 실행하면 mysql데몬이 떠 있는지 알 수 있는 것처럼...

C프로그래밍으로 할 수 있는 방법이나 위의 예

zedai1972의 이미지

리눅스기반의 uml 툴은 모가 있나염?

:shock:

윈도우에서 사용되는 rational rose 와 같은 UML 툴이 리눅스에도
있는지요?
혹시 추천할만한 툴을 아시면 알려주세요 ^^;;

waltherppk의 이미지

JXTA를 써보려고하는데요... 세팅이 안되요. ㅠㅠ

JXTA 2.0 이고요
설치하고서 myJXTA나 JXTAShell 을 처음 실행할때 뜨는 설정 창에서
Rendezvous/Relay, Advanced 탭에서 설정하는 부분을 어떻게 해야 하는지

jxta.org에서 찾은 문서들에서는 이 두개 탭은 설정안해도 되던데
실제로는 안되요.

prox의 이미지

fopen +r 모드로 갱신시에...

fopen으로 파일을 다음과 같이 열고

fp = fopen("aaa", "r+");

c = fgetc(fp);

c += 2;

fputc(c, fp);

fclose(fp);

를 하면 (즉, r+로 갱신 모드로 열고 fgetc로 하나 읽은 후 fputc로 하나 쓰면) 데이터가 기록이 안됩니다.

이와 반대로 fputc를 먼저 호출하고, fgetc를 하면 이상한 위치의 값을 읽어옵니다.

fputc와 fgetc 사이에 fseek가 있을 경우에는 정상 동작을 합니다. 이때 이상한 점은 fseek 의 값이 +든 -든 상관이 없는 것입니다. 즉 fputc와 fgetc가 연달아서 호출이 되면 둘중 하나가 오동작을 하고 fseek를 중간에 써주면 둘다 정상동작을 하는 것인데요.

페이지

프로그래밍 QnA 구독하기