프로그래밍 QnA

ejooyong의 이미지

[질문]문자 디바이스 드라이버 만들때요...

file_operations 라는 구조체를 사용하잖아요.
그런데 이 구조체가 linux/fs.h에 선언되 있다고 알고 있는데
찾아보니까 그 파일 안에 선언되 있지 않네요.
그래서 컴파일시 error가 발생합니다.

제 친구 컴에 깔린 리눅스에서 확인해 보니
거기엔 fs.h 안에 struct file_operations 가 선언되 있더군요.
제 리눅스가 이상한건지...? 아님 뭔가 바뀐건지...?

제가 사용하는 OS는 RedHat 8.0입니다.
혹시 어느 header 파일에 선언되어 있는지 알려주세요.

Fe.head의 이미지

[질문]실행중인 프로그램에 입력을 넣을방법

test 이라는 프로그램이 아래와 같은 소스를 가지고 있다고 하고

/* a.out */
#include <stdio.h>

int main()
{
        char str[100];
        scanf( "%s", str );
        puts( str );
        return 0;
}

이 프로그램을 실행 하고 나서 입력을 다른 프로그램상에서 해주어야 할경우
어떻게 해야 돼나요..

저는 아래 코드로 해봤는데.. 안돼더군요.
[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

eminency의 이미지

리다이렉션된 인풋인지 알아낼 방법이 있나요?

예를 들면 mysql같은 경우, 그냥 실행을 시키면 프롬프트가 뜨면서 사용자의 키보드 입력을 받게 됩니다. 그런데 실행 시킬때 리다이렉션으로 해서 스탠다드 인풋을 주면 프롬프트같은 건 뜨지않고 바로 실행이 되더군요.
mysql소스를 보면 해결될지도 모르지만 워낙 소스도 방대하고 잘 알지도 못하는 C++이다보니..ㅡ.ㅡ;;

저도 지금 이런 프로그램을 하나 짜고 있는데...
만약 인풋이 리다이렉션된 스탠다드 인풋이라면 프롬프트를 뜨지않게 하려거든요.

moonlight의 이미지

스레드 관련 질문이에요...

중복일지도 모르지만, 여러 고수님들의 조언 부탁드립니다.

[code:1]
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<pthread.h>
#include<unistd.h>

void* printnum(void *arg);

#define MAXTHREAD 5

main()
{
pthread_t tid[MAXTHREAD];
int *t;
int i;

for(i=0; i<MAXTHREAD; i++)
{
if(pthread_create(&tid[i],NULL,printnum,(void*)i) != 0)
{
printf("Error %d\n",i);
exit(1);
}

shean0의 이미지

remalloc &lt;== malloc + memcpy 를 사용하면 세그먼트 폴트 에

안녕하세요..이거 왜 이런지...원인이 .....
아주 간단한 프로그램 2개를 비교해 부탁드립니다. 하나는 malloc 이고, 하나는 remalloc를 이용한 것입니다...

stdlib 인클루드 했는데...왜..이런지... 모르겠네요..
아래 세그

이것이 세그먼트 폴트 에러가 나구요..
gcc -o M_exam1 M_exam1.c ; M_exam1
window에서두 정상으로 돌아가는데... 음.. 원인은 gcc 옵션에 있지 않을까 하는 생각이 들기두 하지만서두...
함 조언을 구합니다.
[code:1]#include<stdio.h>
#include<string.h>

gilddong의 이미지

lisp ..

리눅스에서 lisp 프로그래밍을 하려면 어떻게 해야하나요??

학과 유닉스 머신에서는 common lisp 라고 해서 clisp 라고 하면 되는데 ;;

이맥스가 lisp기반으로 만들어진것으로 알고있는데 실제 lisp 프로그래밍을 어떻게 해야될지 모르겠더라구요.

kldp에 있는 이맥스 강좌에도 없는거 같네요 ;;

그럼 조언 부탁드립니다

rcrookie의 이미지

함수의 수행 시간 ( 커널모드, 유저모드 각각) 구하려고 해요.

안녕하세요
함수의 수행 시간을 구하려고 합니다.
특히 ,
커널 모드에서 수행된 시간,
유저 모드에서 수행된 시간을
각각 구하고 싶습니다.

setitimer() , getitimer()을
사용해서 구할수 있는것 같은데요. 사용 법을 모르겠습니다.
linux man 도 찾아보고 했는데요 도무지...

이 함수 사용법 아시는 선배님!! 좀 알려주세요.

꼭 이 함수를 사용하지 않더라도 수행 시간을 구할수 있는 방법이
있다면 알려주시면 감사하겠습니다.

감사합니다.

78sprooky의 이미지

exec() exit() 에 대하여.. 알려주세요~

a.out

void main()
{
printf("hi a");
execlp("./b.out","b.out",NULL);
printf("good bye b!");
return 0;}

b.out
void main()
{
printf("hi b");
exit();
}

a와 b라는 프로그램이 있을때..
a가 b를 호출하고 실행한 다음에 다시 돌아오고 싶은데.. 않돼요..
제가 원하는 출력은..

hi a
hi b
goodye b!
인데.. 마지막에 리턴이 되지 않아.. goodbye b!가 나오지 않네요..
고수님들 다시 리턴하는법좀 가르쳐 주세요~~~~

morison의 이미지

[질문] xterm의 크기를 조절하고 싶습니다.

현재 작성하려는 프로그램은 이렇습니다.

curses를 이용해 만들려고 합니다
xterm 크기에 맞게 WINDOW생성을 할껍니다.

제가 해결하고 싶은 문제는 아래 두가지 입니다.
1. 하지만 이때 기본 xterm크기보다 제가 출력하려는 화면이
크므로 창 크기를 늘리고 싶습니다.
2. wscanw로 입력을 받으려고 하는 상태에서 SIGWINCH 시그널을
처리 하려고 하는데 시그널에의해 wscanw에 입력이 들어가는듯 합니다.

이 두문제를 어떻게 해결해야 할까요?

moonlight의 이미지

pthread 함수 사용질문있어요~

안녕하세요...

제가 pthread_create, pthread_join 등의 함수를 써서 프로그래밍하고

있는데요,

컴파일하니깐, 이런 에러가 떠요..

/tmp/ccG6A01B.o(.text+0x6f):undefined reference to 'pthread_create'
/tmp/ccG6A01B.o(.text+0xe1):undefined reference to 'pthread_join'

등의 에러가 나는데요,

어떻게 하면 정상적으로 컴파일이 될까요?

페이지

프로그래밍 QnA 구독하기