프로그래밍 QnA

sootoo23의 이미지

리눅스 ext4 이미지 만들때 문제점.

임베디드 리눅스 시스템에서 Root filesystem 제작시
ext4를 사용하며 아래와 같이 Script를 구성하여 사용중입니다.

if=/dev/zero of=${OUTPUT} bs=1k count=${PARTCNT}
     mkfs.ext4 -F -m0 ${OUTPUT}
     mount -t ext4 ${OUTPUT} /mnt -o loop
     tar -C ${TARGET} -cf - . | tar -C /mnt -xf -

문제는....
항상 Rootfs ext4 이미지를 만들때 2GB 이미지로 만들어야
2GB Partition의 Rootfs가 생성됩니다.

실제 Rootfs 의 data size는 800MB밖에 안되는데
이걸 2GB로 만들어서 업데이트 해주려니 너무 오래걸립니다.

jbs0123의 이미지

struct class 구조체와 class_create()함수 질문있습니다.

안녕하세요 디바이스 드라이버를 공부하고 있는 학생입니다. 예제 소스부터 분석하고 있는데요
struct class가 정확히 어떤 것을 의미하는지 모르겠습니다.
class_create()함수가 책에서는 sysfs항목을 설정한다. 인터넷에선 드라이버 종류를 설정한다 이렇게 나오는데 class_create()함수를 커널 파고 들어가도 어떤것을 의미하는지 파악을 못 하겠습니다...

sootoo23의 이미지

리눅스 서비스로 자동실행 시 문제점입니다.

임베디드 리눅스 시스템에서 개발중에 있는데요...

어플리케이션을 데몬으로 실행을 하게되면
어플리케이션의 콘솔 기능을 사용하지 못하게 됩니다.

찾아보면, 데몬으로 실행할 경우 tty제어는 못한다고 나오는데..

그럼 tty를 제어하는 어플리케이션은 자동실행하려면 어떻게 해야하나요?

* 참고로 systemd OS로, /etc/init.d/ 폴더에 rcS 같은 script로 직접 실행하는 방식은
동작이 안됩니다. (inittab도 없음)
* rc3.d 폴더에 링크를 걸어 실행할 경우 데몬으로 실행되어 콘솔기능을 사용하지 못합니다.

dudtkd4567의 이미지

힙 메모리 오류 발생시키기

메모리 할당 가능한 최대 크기를 테스트하고 싶어서
일부러 오류를 일으켜 봤습니다.

기본적으로 스텍, 힙 둘다 1MB가 잡혀있기 때문에 그 이상을 잡으려 하면 오류가 납니다.

[스텍]

char test[10000000];

[힙]

rlaguddls10의 이미지

ls -l 구현 중 질문

ls -l 함수를 구현하는 도중에 중간 확인차 for문을 이용하여 파일들의 이름을 출력해보았는데
segmentation fault(core dumped)라고 뜨더군요
이 오류는 메모리 영역을 침범할때 뜨는 오류라던데 혹시 왜 그런지 알려주실수 있나요??

basic0968의 이미지

memcpy의 카피 시작인덱스 설정문제

위 반복문과 아래 memcpy가 같은 의미라고 생각해 코딩하였는데,
전혀 다른 결과가 나옵니다. memcpy의 아규먼트를 어떻게 설정해야 할까요 ??
&arr[start]로 설정하니 세그먼트 오류가 뜹니다

basic0968의 이미지

세그먼테이션 폴트 원인을 못찾겠습니다


아래 div_array에서 쓰레드를 사용하지 않으면 잘돌아가는데 사용하면 오류가 나네요.
pth_create사용이 미숙해서 그런것 같은데 아무리 생각해도 뭐가 원인일지를 모르겠습니다

wlgns12www의 이미지

넷링크 nlmsg_unicast함수

제목의 nlmsg_unicast함수는 넷링크패킷을 유저영역으로 메모리복사를하여 보내주나여??

그리고 네트워크 시스템에서 다른 계층으로 넘어가거나할때 패킷의 메모리복사가 통으로 일어나서 넘겨지는건가요??

익명 사용자의 이미지

c 프로그래밍 파일 읽고 배열 질문있습니다.

안녕하세요. 요즘 c언어로 프로그래밍을 배우는 학생입니다.
해야되는것중에 하나가 data.txt파일을 열어서 그거를 배열로 저장해서 그 배열들을 이용해서 문제를 푸는 것인데 파일을 열어서 배열로 저장하는 방법을 잘 모르겠네요.
지금 data.txt파일이
-2, 3, 4
1, -3, -4
이런식으로 저장이 되어있습니다.
그걸 열기위해
FILE *fp;
fp=fopen("data.txt", "r");
for (ch = getc(fp); ch != EOF; ch = getc(fp))
if (ch == '\n')
r = r + 1;
c = r + 1;

이렇게 파일을 열고 그 뒤에 총 몇열인지와 몇행인지를 얻은것 같은데 이게 맞는것인지 모르겠네요.
그 뒤에 이제 배열에 저장하려고 하는데 malloc을 쓰면 좋다고 하는거 같아서 한번 써보려고 하는데 어떻게 하는건가요?

페이지

프로그래밍 QnA 구독하기