프로그래밍 QnA

gyxor의 이미지

[컴퓨터구조론] CISC , RISC 장단점 비교

CISC(Complex Instruction Set Computer)
모든 고급언어 문장들에 대해 각각 기계 명령어가 대응되도록 하는것
RISC(Reduced Instruction Set Computer)
CISC의 많은 명령어중 주로 쓰이는것만을 추려서 하드웨어로 구현하는 것

이것이 핵심 개념인데요..
구체적으로 장단점을 따져보겠습니다.
CISC의 단점이자 RISC의 장점은
CISC의 경우 하드웨어의 회로가 복잡해져서
RISC에 비해 가격이 비싸지고 발열이 많고 전력소모가 많게 됩니다.
CISC는 고급언어의 컴파일러의 번역과정을 간단하게 해줍니다.

청랑의 이미지

Linux Kernel Source의 Block Device Driver에 사용되는 구조체

Linux File System을 공부하고 있습니다.
하드 디스크에 파일이 어떻게 쓰여지는지 Linux Kernel Source Code를 뒤지다가 다음의 구조체를 발견했습니다.

struct request {
struct list_head queue;
int elevator_sequence;

volatile int rq_status; /* should split this into a few status bits */
#define RQ_INACTIVE (-1)
#define RQ_ACTIVE 1
#define RQ_SCSI_BUSY 0xffff
#define RQ_SCSI_DONE 0xfffe
#define RQ_SCSI_DISCONNECTING 0xffe0

kdev_t rq_dev;
int cmd; /* READ or WRITE */

김경태의 이미지

리눅스 커널을 공부하려면 좋은 안내서가 뭐가 있을까요?

Understanding Linux Kernel이란 책이 Kernel을 이해하는 데 아주 좋은 책임은 분명합니다.
그런데 책을 읽어보신 분들은 아시겠지만 좋은 내용에 비하여 조금은 난해한 듯한 구성이 처음 Kernel을 접하는 분들에게는 어려움을 던져주는 것 같습니다.

그래서....

Understanding Linux Kernel이란 책을 보완할 만한 조금은 친절한(?) 보완이 될만한 Kernel 소개책을 찾고 있습니다.
먼저 Kernel의 심오한 세계에 안착하신 고수님들의 충고 부탁드립니다.

참고로 저는 Unix C, C++ 를 이해하는 데 큰 어려움은 없습니다. ^^;

jongsuknim의 이미지

프로그램이 설치된 디렉토리 컴파일시에 설정하는 법

제가 작성하고 있는 프로그램내에 img 라는 디렉토리가 있습니다.
제가 작성한 프로그램을 실행시키면 그 img 디렉토리(프로그램이 설치된 디렉토리)의 파일들을 실행시킨 디렉토리(현재 디렉토리)내로 카피시켜야 합니다.

그러기 위해 프로그램이 설치된 디렉토리를 알아야 하는데 이것을
컴파일시에 설정하는 법을 알고 싶습니다.

아마도 configure를 써야 할것 같은데, 어떤 식으로 해야 할지 모르겠습니다.

아니면 이것 보다 더 좋은 방법이 있을까요?

BeChild의 이미지

Documentation/CodingStyle에서 들여쓰기관련하여...

Quote:
Don't put multiple statements on a single line unless you have
something to hide:

if (condition) do_this;
do_something_everytime;

맨 처음의 들여쓰기부분에서 위와 같은 문장이 있는데 무엇을 뜻하는지 잘 모르겠습니다.
그냥 해석해보면
"당신이 숨길 것이 없다면, 한 줄에 여러 문장을 쓰지말라"
정도로 생각되어지는데 이게 무슨 뜻인지?
숨길 것이 있다면이라는 게 무슨 말인지 이해가 안됩니다.

한 줄에 여러 문장을 적으면 프로그래머가 못보고 지나칠 수 있다는 얘긴가요???

ljh131의 이미지

subversion merge 소스 일부가 삭제됨?

며칠전부터 tortoise를 소스백업용으로 사용하고있습니다.

테스트를 위해 branch를 만들고 여기서 작업한후 작업내용을 원래 소스와 merge를 했는데요,

(머지하기전 워크폴더를 branch에서 원래것으로 switch 후 (이러니까 워크폴더에 branch폴더가 생기더군요) merge를 했습니다.)

컴파일하니까 소스 파일의 맨 마지막 한라인이 빠져에러가 나더군요. 간단한 문제였지만 첨 겪어보는 문제라 황당하네요. 사용하시는분들 이런문제는 없으셨는지 궁금합니다.

shamlock의 이미지

setitimer , getittimer 값이 이해가 안되네요

[code:1]
#include <stdio.h>
#include <sys/time.h>

#define MILLION 1000000L

int main(void)
{
int i;
long diftime;
struct itimerval a, b;

a.it_interval.tv_sec = 0;
a.it_interval.tv_usec = 0;
a.it_value.tv_sec = MILLION; /* a large number */
a.it_value.tv_usec = 0;

if (setitimer(ITIMER_VIRTUAL, &a, NULL) == -1)
{
perror("Failed to set virtual timer");
return 1;
}

for(i=0;i<10;i++)
{
printf(".");

arawn의 이미지

Win2K 어드밴스 서버에서 Subversion 운영..?

Win2K 어드밴스 서버에서 Subversion를 서버로 운영하고 윈도우에서

클라이언트 프로그램(TortoiseSVN)을 이용해서 접속하고자 합니다.

테스트 삼아 XP에 설치를 하고 사용을 했을때는 아무런 문제가 없었

는데 실질적으로 사용하고자하는 Win2K 어드밴스 서버에서 설치를

하고 TortoiseSVN 이용해서 접속을 하려니 다음과 같은 문구만 나

옵니다.

'대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다.'

Win2K의 사용자 문제 같아보여서 사용자를 추가하고 암호 설정 후

shilf의 이미지

mfc 및 activex 관련 질문입니다.

kldp에 전혀 상관없어 보이는 mfc랑 activex 관련 질문 드려서
죄송합니다. 여기만큼 신뢰도가 높은데가 잘 없어서요..ㅠㅠ

제가 리눅스 서버에 c로 서버 프로그램 코딩했고, 클라이언트를 c 콘솔로 짰습니다. 파일 업로드 클라이언트에요.
그냥 소켓 설정해서 패킷(파일이름,크기, 데이터) 보내고 받고 하는 겁니다.
궁극적으로 제가 구현하고자 하는것은 다음에서 제공하는 대용량 메일 서버 같은것입니다.

지금 다른 문제는 다 해결됐는데 결정적으로 파일 업로드하는 부분이 해결이 안되네요. 콘솔로는 되는데.

페이지

프로그래밍 QnA 구독하기