프로그래밍 QnA

simpid의 이미지

파일을 만들때 권한 설정

파일을 만들면서 파일의 사용자 권한을 설정하려고 합니다.

handle = open(p_path, O_CREAT | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH);

파일의 소유자와 그룹에는 RW를... 그외 사용자에게는 R만 주려고 하는데..
이상하게 소유자와 그룹에게만 올바르게 권한이 부여됩니다.

S_IROTH가 먹히질 않는데 이유가 뭘까요?

purewell의 이미지

select의 쓸 수 있는 상태란?

Quote:
int select(int size, fd_set* read, fd_set* write, fd_set* except, struct timeval* tv);

select에서 보통 read 값만 가져다 쓰잖아요.
(ioctl로 접속이 끊겼는지 알 수 있으니까...)

그런데 write값은 어떤 때 세팅되나요? (메인질문)

클라이언트가 recv*함수를 호출했을 때 세팅되나요?
만일 클라이언트가 recv* 함수를 호출하지 않은 상태에서
서버에서 send* 함수를 호출하면 블로킹되나요?
클라이언트의 OS에서 일단 받아놓고 보지 않나요?

nanosec의 이미지

unix에서 시스템 정보를 얻어오는 프로그램을 linux로 포팅하려

아래 코드는 유닉스에서 시스템정보를 얻어오는 프로그램입니다.(한빛에서 나온 유닉스 프로그래밍관련 책 소스입니다.)

리눅스에서 컴파일할경우 시스템관련 구조체나 함수 헤더파일이 없어 컴파일 할 수가 없습니다.

리눅스에서 시스템정보를 얻어오는 함수는 어떤것들이 있나요?

유닉스 프로그램을 리눅스로 포팅한다고 할때는 방법 어떤 방법을 써야 하나요?

많은 가르침 부탁드립니다. ^^

[code:1]#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

aceforever의 이미지

시스템콜 관련 질문입니다.

#include <linux/kernel.h>
#include <linux/module.h>
#include <sys/syscall.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <asm/uaccess.h>
#include <linux/time.h>
#include <linux/timer.h>

extern void *sys_call_table[];
asmlinkage int(* original_open)(const char *, int, int);
asmlinkage int(* original_close)(const char *, int, int);
asmlinkage int(* original_read)(unsigned int fd, char *buf, unsigned int count);
asmlinkage int(* original_write)(unsigned int fd, char *buf, unsigned int count);

asmlinkage int sys_our_open(char *fname, int flags, int mode){

gyxor의 이미지

c++ class의 protected 멤버에 관한 내용입니다.

#include<iostream>
using namespace std;

class a
{
protected:
int k;

public:
		
a()
{
   k=9;
   cout << "eee";
}
void v()
{
   cout << k;
}
};

int main()
{
    a e;
    e.v();
    return 0;
}

이 예제 에서 보면 기초클래스 메소드에서 자신의 보호멤버에 접근이
가능합니다.
책에서 본바 대로는 보호멤버의 경우 기초클래스에선 접근할수없고
유도클래스의 메소등에서만 접근이 가능하다고 되어있는데요
deadlive의 이미지

커널 고치기..

아까 글을 썼던 것 같은데 사라졌네요 -_-; 등록이 안 되었는지...

커널을 좀 고치고 API function을 추가하고 싶은데요...

1) 커널 소스를 고친 후 커널만 재컴파일하면 되는건가요?

2) 커널 부분과 관련되는 API function을 추가하려는데 구체적으로 어떻게해야할지 좀 개념이 헷갈리네요... 특히 header file을 어떻게 처리해야하고 컴파일을 어떻게 해야할지요...

저도 여기저기 찾아보고 있지만, 이렇게 커널을 고치는 경우보다 모듈 프로그래밍이 더 많은것 같네요...

sadrove의 이미지

이런 에러는 어느 부분을 봐야하는 걸까요..?...

프로그래밍 연습을 하다보면..
아래와 같은 에러를 만날때가 많은데요..
이런경우엔 보통 어떤게 잘못된 것이며..
고칠려면 어느 부분을 봐야하는 걸까요..?..^^..
초보니까 쉽게 설명해주시면 감솨....

--------------------Configuration: test - Win32 Debug--------------------
Linking...
test.obj : error LNK2001: unresolved external symbol "public: __thiscall Employee::~Employee(void)" (??1Employee@@QAE@XZ)
test.obj : error LNK2001: unresolved external symbol "public: __thiscall Date::~Date(void)" (??1Date@@QAE@XZ)
test.obj : error LNK2001: unresolved external symbol "public: void __thiscall Employee::print(void)const " (?print@Employee@@QBEXXZ)

moonhyunjin의 이미지

커널에서 프로세스 죽이는 방법은?

커널에서 프로세스를 죽일려고 프로세스 리스트에서 빼보는 것까지 해봤는데 리스트에서 빠져도 잘 돌아갑니다.

어떻게 해야하나요? 커널에서도 시그널로 죽여야 하나요?

toy의 이미지

bios 관련된 오픈 프로젝트있나요

pc bios 관련 오픈 프로젝트있나요?
한번 바이오스 소스를 분석해보고 싶어서요..
물론 어렵겠지만...

moonzoo의 이미지

네트웍 프로그래밍에서..sigkill 문제..

상대편 소켓에 poll을 걸고 있는 중인데.

sigkill 이 발생했습니다.

당연 프로세스는 죽었습니다.

근데 이유를 대체 모르겠네요..

혹시 비슷한 경험을 가지고 있으신분 있으면

조언 부탁드립니다...

(sigkill이라 핸들링 할수도 없고..--;)

페이지

프로그래밍 QnA 구독하기