프로그래밍 QnA

swhong의 이미지

pSOS에대해서...

pSOS realtime OS에서 IDE hard disk device driver를 작성하는걸 해보려고 하는데요.... pSOS에 관한 문서가 외이렇게 찾기가 힘든지...

궁금한 것이 pSOS에서는 어떤 filesystem을 사용하는지와 linux의 IDE hard disk driver를 참조하여 작성할 수 있을지가 궁금합니다.
혹시 pSOS에 관한 자료를 어디에가면 얻을 수 있을까요? WindRIver페이지에는 별로 얻을 만한 자료는 없는듯 하고...

움, 작품하나 해보려고 이것저것 뒤지다가 생각해 냈는데,
시작을 하기가 두려워서... 일단

ejooyong의 이미지

[질문]컴파일시 에러가 발생하는데 어떻게 해야 할지...???

안녕하세요...
저는 리눅스 커널에 대해 공부하는 커널 초보생입니다... ^^

자료를 보며 실습을 하는데 에러가 나네요.
뭐가 문제인지 정말 답답하고 모르겠어서...

제가 실습해본 예제는,

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/malloc.h>
#include <asm/uaccss.h>

#define CHDRV_MAJOR 250

static ssize_t chdrv_read(struct file *filep, char *buf, size_t count, loff_t *ppos)
{
printk("chdrv_read called\n");
return(0);
}

static ssize_t chdrv_write(struct file *filep, const char *buf, size_t count, loff_t *ppos)

archtyrael의 이미지

이중 포인터 초기화 하는것 때문에 그러거등여..

첨에는
struct Flight **temp = new Flight[num][1];
이런식으로 초기화 할려 했는데
안되길래

아래와 같은 방법으로 했거등여
그런데두 안되네여..

struct Flight **temp;

for(int i=0;i<num;i++)
         temp[i] = new Flight;

다른 초기화 방법 아시면 좀 갈쳐주세여..
반드시 동적 메모리 할당을 써야 해서여.. 2중 포인터루..
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 도 찾아보고 했는데요 도무지...

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

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

감사합니다.

페이지

프로그래밍 QnA 구독하기