프로그래밍 QnA

kaitria의 이미지

USB에서 동작하는 FAT32 기반의 부트로더 작성

제가 어셈을 이용해서 부트로더를 제작하려고 합니다.

USB 부팅을 하고 FAT32파티션의 특정 파일을 메모리에 로드해서 jmp하여

계속 진행하는 방식으로 할 생각입니다.

그래서 여기저기 자료를 찾아보았는데

시스템이 처음에 부팅하면서 부팅디스크의 첫 섹터(MBR)을 메모리에 로드해서

시작

hogi2271의 이미지

함수 포인터에 대해서..

linux 커널 소스를 보니 다음과 같은 typedef가 나오더군요.

typedef long syscall_handler_t(void);

사용은 (syscall_handler_t *)(new_syscall)(); 이런식으로 형변환하더군요.

보통 함수 포인터 사용하면 다음과 같이
typedef long (*syscall_handler_t)(void);
사용은 (syscall_handler_t)(new_syscall)(); 이랗게 사용하여왔는데..

후자는

jaster의 이미지

LibXml2 Centos 에서 xpath 함수 이용시 기이한 현상.

libxml2 로 윈도우즈에서 xml 파일을 읽어서 파일에 쓰고 있는데요. 물론 utf-8 로요.
윈도우즈에서는 한글이 잘나옵니다. 근데 똑같은 소스를 리눅스(centOs)에 컴팔하면..

한글부분이
그림:Bullet red.png|7px|위키백과
이렇게 나와여!!!

drost의 이미지

네트워크 드라이버 내부에서 ip 갱신 질문입니다.

안녕하세요,

지금 network kernel module을 제작하고 있습니다.
이 네트워크는 무선 통신으로 외부에서 IP를 dhcp를 통해서 할당받습니다.
문제는 이 IP는 외부 이벤트의 영향으로 이미 할당된 이후,
외부에서 변경되어 다시 할당되는 경우가 있습니다.

ifconfig 와 같은 명령어로 dhcp를 이용해서 ip를 받는 것

kkb의 이미지

프로세스 ID와 스레드 ID와 관련하여 질문합니다

① getpid()를 호출하면 그 프로그램의 프로세스 ID가 리턴됩니다

이 값은 프로세스 유일한 ID이기 때문에
같은 프로세스 내에 있는 모든 스레드들은 같은 프로세스 ID를 가집니다
(이를 위해서 이 값은 tgid와 같습니다)

② syscall(__NR_gettid)을 호출하면 "the thread ID of the current process"를 리턴한다고 하는데

초코리의 이미지

char *** 할당에 관한 문의입니다..

C++에서 하다가 오랜만에 C를 하려니

아리까리(?) 한 부분이 있습니다.

함수에서 리스트를 얻어오는 예제인데요.
다음과 같은 코드에서 문제나 버그가 없을까요??

일단 동작에는 문제 없고 valgrind에서도 어떤 워닝이나 에러는 나오지 않네요.

함번 코드 리뷰 부탁드립니다.

#include <stdio.h>
gloomyr의 이미지

fread 재밋는 사실..

몰랐던 사실인데 fread에 한번에 읽어오는 크기에 제한이 있나요?

muzie의 이미지

alloc과 free의 수가 같다면 메모리 누수는 "절대" 일어나지 않나요?

어플리케이션 로드에 500k의 메모리가 필요하고 내부에서 어떤 특정 루틴을 수행할때,
100k 정도의 공간을 동적으로 할당한다고 가정하고 항상 완벽하게 100k의 공간을
반환한다면 메모리 누수는 "절대"일어나지 않는지요?

현재 임베디드 보드에서 작업중인 프로그램이 왠만해선 메모리 버퍼로 배열을

citigambler의 이미지

thread 함수 내에서의 extern 변수 선언이 갖는 의미?

안녕하세요..
간만에 C 프로그래밍을 하려니 가물가물 확실하지 않은 점이 있어 한번 문의 드려 봅니다.

1. a.c

int session;
 
int init_session(int n)
{
    session = n;
}

2. b.c

choboja의 이미지

공유 라이브러리 궁금증


안녕하세요??
프로그램이 죽어서 gdb로 실행해본 결과 공유라이브러리에서 죽네요.

ldd 명령으로 확인해보니

libvtutils.so => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fdd5391e000)
libelf.so.1 => /usr/lib/libelf.so.1 (0x00007fdd53709000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fdd53505000)
libbz2.so.1 => /lib/libbz2.so.1 (0x00007fd

페이지

프로그래밍 QnA 구독하기