프로그래밍 QnA

autofolder의 이미지

2.5 버전의 모듈을 2.4버전에서 사용하려면 어떻게 해야하나요?

커널 설치 및 활용 QnA도 비슷하게 올렸는데, 혹시 이쪽에도 올리면 도움이 될까 올립니다.

커널 2.4에서 sctp 모듈을 올리고 싶습니다.

sctp 모듈은 커널 버전 2.5부터 포함되어있는데, 저는 커널 2.4에서(2.6도 안되고) 사용해야 합니다.

이걸 어떻게 2.4 버전으로 포팅할 수 있는지 알려 주실 분 계십니까?

커널 소스 2.4.29에서도 sctp 디렉토리와 소스가 있긴 한데, make menuconfig해도 메뉴에 나타나질 않아 모듈 컴파일을 할수가 없습니다.
혹, make menuconfig

kdgcom의 이미지

alloc한 메모리 이상의 영역을 액세스할때...

예를 들어......

char *ptr = "1234567";
printf("%c\r\n", *(ptr+8));

라는 코드는 에러가 나지 않지요..
아마 %를 출력할테지만..
("1234567"다음에 "%c\r\n"이 메모리에 할당될테니..)

이런식으로 calloc이나 malloc으로 allocation한 부분 이상의 영역에 대해 access하려고 시도하면 많이 벗어나지 않는 경우 에러가 나지 않는걸로 알고 있습니다. (맞나요? 경험상 그렇던데..)

이경우 당장은 에러가 안나는데 allocation이 빈번하게 일어날 경우 한참 잘 되다가 갑자기 libc의 _int_malloc에서 에러났다는 뻔뻔한 메시지를 보여주면서 segmentation fault를 보이더군요... (gdb에서 backtrace를 했을때의 결과가 말이죠)

juicy의 이미지

php 변수값

php에서 변수값을 출력하기 위해서는 아래처럼 꼭 echo를 써야하나요?

<? echo $my_var; ?>

아래처럼 asp에서처럼 좀 간단한 방법 없을까요?

<%=my_var%>

juicy의 이미지

문자열 정규식

두개(또는 그 이상의) 문자열들을 표현하는 정규식을 어떻게 쓸 수 있을까요?

ls -I<정규식>

이렇게 하면 <정규식> 패턴에 매치되는 이름을 제외한 파일들을 볼 수 있는데, 문자열 하나는 되는데 두 가지 이상은 잘 안되네요.
예를 들면, apple과 banana를 제외한 나머지 파일들을 보고 싶으면 정규식을 어떻게 써야 할까요?

apple|banana

이렇게 써서는 잘 안되던데...

ssul97의 이미지

signal 관련

signal 관련하여 SIGALRM을 처리하고 있습니다. 질문드리고 싶은 것은 signal(SIGALRM, handler);로 설정한 시그날을 취소하는 방법을 알고 싶습니다. 즉 SIGALRM이 발생하지 않도록 취소하려면 어떻게 해야 하나요? 아시는 분 셰시면 답변 부탁드립니다.

stypr의 이미지

/lib/tls와 /lib/i686이 다른 이유는?

기본적으로 리눅스를 사용하면 쓰레드관련 so가
ldd로 확인하면 /lib/tls밑의 파일로 되어있습니다.
/lib/i686도 같은 이름의 파일있는데...물론 i686이라는 아키텍쳐겠죠. 하지만 위의 tls는 뭔지 알수가없군요.
컴이 i686이면 /lib/i686으로 되어야하는거 같은데..
와이 /lib/tls로 되어있는지 모르겠어요.
이 디렉토리는 무엇을 뜻하는것인가요??/

soo211의 이미지

pid 0번 프로세스의 task_struct 포인터 받아오기..

간단한 시스템 콜을 만들어 볼려구 하는데여~

pid 번호 입력 받아서

프로세스에 대한 간단한 정보를 출력하는 시스템콜이용~^^

시스템 콜 함수 정의 부분에서

struct task_struct *mytask = find_task_by_pid(0);

하면..

NULL이 리턴 되드라구용 ㅠㅠ

0번 swapper 프로세스의 task_struct는 다르게 받아와야 하나요?? 어떻게 해야 할 지 ㅠㅠ

고수님들 도와주세요!!

소맛라면의 이미지

커널 모듈 프로그래밍시 에러 입니다.

hello.c 파일 소스는

#include <linux/kernel.h>
#include <linux/module.h>

#if CONFIG_MODVERSIONS==1
#define MODVERSIONS
#include <linux/modversions.h>
#endif

int init_module()
{
printk("Hello, world - this is the kernel speaking\n");
return 0;
}

void cleanup_module()
{
printk("Short is the life of a kernel module\n");
}

Makefile 소스는

CC=gcc
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX
hello.o: hello.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -c hello.c

이렇게 하고
make 하면
아래와 같이 나옵니다.

kknd345의 이미지

[질문] 어셈블리어 명령어 정리 잘된 사이트 없나요?

어셈블리어 명령어 정리 잘된 사이트 없나요?
아니면 어셈블리어 관련 설명하는 사이트도 괜찮습니다

intel32 기준이고요.

아는 거 있으시면 가르쳐 주세요. 부탁드립니다.

girneter의 이미지

자바 JNI 에 대해 잘 아시는분

제가 하고 싶은 것은

일단 자바 bytecode 로 Hello.class 가 있구요.
이 클래스에는
print_hello 라는 함수가 들어있습니다

저는
C 언어로 some.out 이라는 실행프로그램을 하나 개발해서
이런저런 작업을 하다가
도중에 JNI 를 이용해서 저 자바쪽의 print_hello 를
call 하고 싶습니다.
이거 분명히 가능한걸로 알고 있는데 예제 같은거 구할 수 없을까요?

1. 물론 native 쪽에서 native 함수를 제공하고
java Hello
로 Hello 클래스를 실행해서
그 native 함수를 호출하는 법은 알고 있습니다

페이지

프로그래밍 QnA 구독하기