프로그래밍 QnA

nicessj0919의 이미지

[완료]vfork() 문제 - 스택프레임 손실?

#include <stdio.h>
#include <sys/types.h>
static void f1(void), f2(void);
 
int main(void)
{
	f1();
	f2();
	_exit(0);
}
 
static void f1(void)
{
	pid_t pid;
	if((pid = vfork()) < 0)
 
		printf("vfork error");
}
 
static void f2(void)
{
	char buf[1000];
	int i;
	for(i = 0; i < sizeof(buf); i++)
		buf[i] = 0;
}

시험 문제인데요.
스택 프레임에 대한 정보 손실로 인해 segmentation fault가 발생한다고 합니다.
gdb를 해서 백트레이스를 하는데 No stack이라고 뜨네요.
도대체 뭐가 문제인지 모르겠습니다.

erikanes의 이미지

[완료] 모듈화에 대한 질문

아직 모듈화에 대해서 개념이 제대로 잡히지 않아서 많이헷갈리네요.

현재 SDL을 공부중인데 처음부터 끝까지 작업을 다해놓고 모듈화작업을 하면 더어렵다는것을 알기에

처음부터 클래스별로 나누어가면서 작성중이지만.. 모듈화를 해본 경험도 전무하다 시피하다보니 많이헷갈리네요..

작년 여름방학때 나름대로 모듈화랍시고 게임을 만들기는 했지만 죄~다 extern을 사용한 기억이 있네요.

그당시에는 c++을 모르고있던터라 하나의 헤더안에 온갖변수와 온갖함수, 헤더파일을 집어넣고 소스파일마다 그 헤더파일을 불러왔었지요

좋은 방법이 아닌걸 알기에 갈아엎고 차근차근 하고싶은데 많이어렵네요.

모듈화에 대한 간단한 팁같은것들이 있으면 공유해주셨으면 합니다^^;

nekoko의 이미지

RTP 패킷 수신할 때..

ip 카메라로부터 보드로 RTP 패킷을 수신하려 합니다
rtsp를 통해 ip 카메라에게 보드 ip로 패킷을 보내게 하는 것은 성공했는데요

이 패킷을 보드에 있는 RTP 수신 루틴에서 받으려고 하는데 잘 안되네요..
보니까 RTP 수신때 다시 connect를 하는 것 같은데요
이더넷을 통해 들어오는 패킷을 포트 번호만 지정해서 수신하면 되는게 아닌가요..?
RTP에 대해 더 알아봐야 하는 건지..
조언 부탁드립니다.

lmk378의 이미지

pgd_offset이 약간 이상하여 질문드립니다.

다음은 pgd_offset 메크로 입니다.

// arch/arm/include/asm/pgtable.h

110 #define PGDIR_SHIFT 21
...
376 #define pgd_index(addr) ((addr) >> PGDIR_SHIFT)
377
378 #define pgd_offset(mm, addr) ((mm)->pgd+pgd_index(addr))

즉 가상주소를 21만큼 right shift시켜 mm->pgd에 더해주는 작업을 하는 메크로 입니다.
헌데 실제 동작하는 것을 보면 다음과 같습니다.(제가 테스트용으로 만든 module의 출력메시지 입니다.)

// pgd_module.c
62 pgd = pgd_offset(current->mm, vaddr);

//실행
vaddr : be8917d0
[ 500.842212] mm->pgd : 0xecc48000
[ 500.845354] pgd : 0xecc4afa0

fat81의 이미지

2개의 네트워크 인터페이스 사용시, 데이터 전송 제어가 가능한가요?

안녕하세요.

네트워크에 관심이 많은 학생입니다.

질문 드릴 내용은 2 개의 네트워크 인터페이스가 있다고 했을 때, application 에서 각각의 인터페이스로 데이터 전송을 할 수 있느냐는 것입니다.

예를 들어 2개의 네트워크 인터페이스 (eth0, eth1) 가 있다고 합니다.

eth0 은 A 라는 네트워크 망에 물려 있고, eth1 은 B 라는 네트워크 망에 물려 있습니다.

물론 각각 인터페이스는 IP 주소, gateway, dns 주소도 다릅니다.

이런 상태에서 socket api 를 사용하는 application 이 있습니다. 이 app 는 A 라는 망에 물려있는 특정 호스트와 통신을 해야 합니다.

이런 상황에서 강제로 특정 네트워크 인터페이스로 통신을 할 수 있게끔 하는 방법이 있을런지요?

짧은 지식으로 방안을 생각해보았으나, 답을 찾기 어려워 질문을 올립니다.

감사합니다.

bbyongi의 이미지

[완료] char devices를 동적으로 찾아서 mknod 추가하는 방법?

안드로이드 커널에 LED 드라이버를 포팅하였습니다.

작업한 내역을 먼저 말씀드려 보면
이 LED 커널 드라이버를 유저레벨에서 제어하기 위해
동적으로 char device를 생성하도록 하였습니다.
(alloc_chrdev_region, cdev_init, cdev_add 사용)

단말을 부팅시켜서 device를 확인해 보면

# cat /proc/devices
(생략)
251 led-ctl

이라고 동적으로 251 번으로 할당된 led char device가 등록되어 있습니다.

그런데 현재 상황이 LED 드라이버를 제어하기 위해서
동적으로 생성된 led-ctl의 주번호를 눈으로 확인한 후에
mknod를 손수해줘야 합니다.

trymp의 이미지

kernel Makefile 에서 ":=" 의 의미가 무었인지요??

kernel 소스에서 Makefile 에 ":=" 라는 연산자가 나오는데,

어떤 의미인지 모르겠습니다.

":" target 과 depend 관계로 아는데, ":=" 은 무슨 의미인지 모르겠네요.

아시는 분 도움 주시면 감사하겠습니다.

yhg_5626의 이미지

c언어를 배우고 싶은데///.. 어떻게 시작을 해야할지모르겟네요,,,저

전부터 리눅스에 관심이 많앗습니다

그떄문에 여러군데 검색도 해보고 질문도 해서 c언어를 먼저배우자고 다짐은햇고

책도 삿습니다ㅏ

열형강의 C라는 책인데 사람들이 다들 써보라고 하셔서///

]

그런데 한 1/3 일쯤 읽고나니까 처음에는 비주얼 c로 하는 재미에 햇는데

그다지 좀 뭐랄까 지루해서요.//

어떻게 공부해야 끈기잇게 할수잇을까요?

ksh252의 이미지

소스 컴파일 질문드립니다.

안녕하세요 리눅스 초보입니다.

글의 제목을 뭘로 할지 몰라 이렇게 성의없게 작성한점 죄송합니다.

질문 드릴 내용은

JAVA 에서 mp3 decoding 을 위한 소스를 찾다가 다음의 소스를 찾았습니다.

http://sourceforge.net/projects/mpadec/

소스를 받고 'make' 하고 실행하는데 다음과 같은 에러가 납니다.

./mpadec: error while loading shared libraries: libmpadec.so: cannot open shared object file: No such file or directory

'make' 후에 보면 libmpadec.so 파일이 정상적으로 존재합니다.

어떻게 해결해야 할지 부탁드립니다 ..)

페이지

프로그래밍 QnA 구독하기