프로그래밍 QnA + 설치 및 활용 QnA

kid1402의 이미지

C++ 에서 멤버 함수랑 멤버변수에 직접 접근하는거랑 많이 다를까요?

예를들어

class MyPool
{
public :
    boost::pool<> MemoryPool;
 
    ... 
};

위와 같은 Pool을 래퍼한 클래스가 있고 이 풀 객체의 멤버 변수인 MemoryPool::malloc() 함수를 이용해서 메모리를 쓰려고 할 때

1) 멤버 함수를 만들어서 접근하는 것.. 즉

void *Malloc()
{
    return MemoryPool.malloc();
}
...
 
DataStructure *newData = (DataStructure*)(MyPool.Malloc());

2) 멤버 변수에 직접 접근한 뒤 해당 변수의 함수를 호출하는 것... 즉

mcjj의 이미지

리눅스 공부하다가 wait queue관련해서 질문드립니다

scheduler를 직접 구현해 보고 싶어서 공부하는데 도저히 진도가 안나가서 여기 질문드립니다.

kernel에서 가상 cpu의 객채를 구현하여 user process에서 실제 프로세스처럼 동작하는 가상 프로세스 객체를 구현하는것이 목표인데

user program은 구현을 했는데 가상 cpu의 구현이 어렵습니다.

FCFS를 구현하고자 하는데 wait queue를 어떻게 써야할지 감이 안옵니다.

일단 주어진 부분은 아래와같습니다.

asmlinkage int sys_ku_cpu(char name[4], int job){
pid_t pid = current->pid; //pid_t 자료형으로 현재 프로세스의 pid저장

pci486의 이미지

iptable 정책 설정시 다음과 같은 상황은 어떻게 해결하시나요.

일단 제가 서버에 불법 침힙을 시도한 ip 목록을 좌악~~ 뽑아보니
약 500개 정되 되더군요..

이경우 그냥 iptable 에 때려 넣어도 되나요
아니면 저걸 처리할 다른 방법이 있나요.

오늘도 파키스탄과 우즈벡에 계신 형님들께서
열심히 서버로 침입을 시도하십니다.
그형님의 영혼정화를 위하여
보안쪽에 밝으신 고수분들의 도움을 요청합니다.

leolo의 이미지

epoll 의 ET 사용법에 대해서...

epoll을 사용해서 데이터를 읽어 들여야 하는데. 어떻게 처리해야 할지 몰라서 문의드립니다.

단순히 EAGAIN 까지 돌면서 읽는 것이 아니라.

특정 데이터 사이즈(24) 만큼 읽고, 거기서 body len을 읽고, 다시 body len을 읽어 들이는 것입니다.
ET를 사용할 경우 [A부분] 에서 EAGAIN가 발생할 떄까지 돌면서 읽어야 한다고 하는데.
정확히 어떻게 해야하는지 잘 모르겠습니다.

예들 들어 상대편이 100byte의 데이터를 보냈는데,
그걸 읽었을 때, 40byte의 온전한 데이터(header와 body로 구성된)가 2개 연속, 나머지 20byte의 온전한 데이터(header와 body로 구성된)가 존재하고 수신된다고 가정했을 때,
EAGAIN이 60byte 수신 후 발생, 나머지 40byte에서 또 발생한 경우에 대한 처리 같은 것이 궁금합니다.

/* epoll 파일 fd 저장소 생성 */
epfd = epoll_create(MAXEPOLLSIZE);
if(epfd == -1) {

kaeri17의 이미지

c++ 클래스 디자인 질문입니다.

안녕하세요. 간단한 계산 프로그램을 짜고 있는데 C++클래스 디자인이 생각처럼 잘 안되서 질문드립니다. 먼저 다음과 같은 행렬 클래스가 있습니다.

class Matrix
{
private:
....
public:
    VectorView row(int n);
    VectorView column(int n);
]

제가 하고싶은 일은 이 VectorView클래스를 잘 만들어보고싶은 건데요, 이 VectorView는 1차원 vector와 비슷한데, 별도의 저장공간 대신에 Matrix의 데이터에 직접 접근하게 만들고 싶습니다. iterator와 비슷하다고 할수 있죠.

근데 문제는 뭐냐면, 이 VectorView를 이용하는 함수를 만들때 입니다.

shari83의 이미지

kernel exploit 이 새로 추가 된게 있어서 테스트 해봤습니다.

Linux kernel perf_swevent_init - Local root Exploit

위험한 녀석이죠. centos 쓰다가 커널 업데이트 안하고 있었는데. 뒤적이다 보니. 5월 14일자로 올라온 exploit으로 root를 탈취할수 있어서 오늘 업데이트후. 안되는걸 확인후
다른건 없나 뒤적여 봤습니다.

6월 11일자로 올라온게 있더군요..

* CVE-2013-2094 exploit x86_64 Linux < 3.8.9
대상은 이걸로 하고 있나 봅니다. 저랑은 일단 버전이 맞지 않지만, 그래도 테스트니깐 한번 돌려 보았습니다.

다운로드 받고. 컴파일 하니깐.

이렇게 뜨는군요.

dltkddyd의 이미지

fgetc로 한글을 읽거나 한자를 읽을 때 코드는 utf16인가요?

한글이나 한자와 같이 영어권 문자가 아닌 문자가 나열된 파일을 열어서 fgetc로 읽어들일 때 2byte 단위로 읽을 경우 하나의 문자로 보이는 것 같은데요. 영어 이외의(한글, 한자를 제외한)의 문자들도 모두 2byte 단위로 읽은 경우 하나의 문자로 표현이 가능한 것인가요? 그리고 읽은 문자의 코드가 utf8인지 utf16인지, 아스키 코드인지를 확인할 수 있을까요?

zsgth의 이미지

커널업데이트 warning

설치할때 이오류가뜹니다.
make bzImage 랑 make modules , make modules_install 은 정상적으로 되구요..
make install할때 오류가 납니다..
이오류무시하고 커널 리부팅하니 역시나 커널 패닉문구가 뜨더군요
옵션설정에서 무엇이 잘못된것입니까?
현재 centos5.9 이고 커널버전은 2.6.18-358.6.1.el5 64bit cpu입니다.
vm돌리구요...
아니면 centos5.9에서 설치되지않는 라이브러리가 3.8에서 환경설정 디폴트로 설정되어있는건가요??

jjsx2의 이미지

환경변수를 주고 싶습니다..

GCC를 소스파일로 설치했는데

환경변수를 설정하지 않아서 GCC디렉토리 안에 있는 bin 안에서 밖에 컴파일이 안됩니다..

어디에서나 할 수 있게 환경변수를 줘야한느데 어떻게 주죠??

/etc/profile에서 줘야하는거 같은데,, 정확하게 어떻게 적어야할지 모르겠습니다

lminl23의 이미지

C++고수님들.. C초보입니다.. 이해하기쉽게 주석좀 부탁드릴게요..

#include"stdio.h"
#define MAX_STACK_SIZE 100 // 스택최대크기
#define MAX_EXPR_SIZE 100 // 수식최대크기

void postfix(void);
int cal(void);
typedef enum {lparen, rparen, plus, minus, times, divide, mod, eos, operand} precedence;
int stack[MAX_STACK_SIZE];
char iexpr[MAX_EXPR_SIZE];
char pexpr[MAX_EXPR_SIZE];
int isp[]={0, 19, 12, 12, 13, 13, 13, 0};
int icp[]={20, 19, 12, 12, 13, 13, 13, 0};

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기