프로그래밍 QnA

sh0ut의 이미지

혹시 VR++이나 3DVDM 설치해보신분 계시나요??

넘 막막해서 그러는데;;; 해보신분 ... 리플 좀 -_-;;

shellbt의 이미지

gdbm 포팅에 대해서

하~ 한숨만 나오네요.
혹시 gdbm을 펌웨어기반으로 포팅이 가능할 까요?
(불가능하겠죠?)

dopesoul의 이미지

asm 에서 #define 을 사용하고자 하는데...

[linuxer@sclclass2 .step6]$ gcc -D_ASSEMBLY_ -traditional -c entry.s -o entry.o
entry.s: Assembler messages:
entry.s:113: Error: no such instruction: `merong'

linux 커널에서도 entry.S 내에 #define 을 사용하더라구요...
저도 사용하고자 하는데..

#define MERONG

.data
.globl sys_call_table;
.align 4
sys_call_table:
MERONG

잘안되네요... 도와주세요 ^^

pok의 이미지

동등연산자(equality operator)를 통한 문자열 비교

CPUscheduleAL* Static::createCPUscheduleAL(const char* _pAlgoType){
	if(_pAlgoType == "FCFS"){
		return new FCFS;
	}
	if(_pAlgoType == "SJF"){
		return new SJF;
	}
	if(_pAlgoType == "PnRR"){
		return new PnRR;
	}
}

문자열상수 argv[]를 통해 비교를 해서 그에따른 객체를 생성하려 했는데 실패했습니다.

아마도 문자열 포인터를 동등연산자를 써서 비교한것이 문제인것 같은데요,
1. 동등연사자의 문자열 비교방법이 따로 존재하나요?

tinywolf의 이미지

VS.NET C++로 Win32 API 프로그램을 만들었는데 왜 mfc71.dll을 찾는걸까요?

Win32 API로만 코드를 짠다음에..
stl 조금 썼구요..
gl과 glu를 조금 사용했습니다..

dll에서 창을 생성하고 화면에 표시하구요..
exe 프로그램은 파일로 읽은 값을 전달하는 역할만 합니다..
둘다 MFC 사용 옵션은 "표준 Windows 라이브러리 사용"으로 바꿔서 링크 안되게 했구요..

그런데 왜 실행할 때 mfc71.dll, msvcp71.dll, msvcr71.dll 들이 필요한 걸까요??
dll이 MFC 확장 DLL이라 그런 걸까요? (딴건 하나도 안 쓰고 단지 클래스를 export할려고..)

그냥 동적 DLL로 클래스를 전달할 수 있는 방법이 있다면 알고 싶습니다.

superkkt의 이미지

소스코드 분석할때 어떤식으로 하시나요?

남의 코드를 분석할때 좋은 방법이 있나요? 아니면 나름대로의 방법을 만들어서 하시는지..

저는 일단 main 함수부터 시작해서 모든 변수 및 구조체 등의 선언, 정의 과정을 다 따라다니면서 여기에 이런 값이 들어가고 저기에 저런값이 들어가고.. 계속 순서대로 따라다닙니다.

그런데 프로그램이 작을때는 할만한데 좀만 커지면 변수들도 햇갈리고 무슨 값이 들어가는지 놓치고 정신이 없어지네요..

제가 하는 방법이 잘못된건가요? 좀 더 효율적

moonzoo의 이미지

alarm()함수를 이용시 문제점?

다음과 같이 함수를 설계한다면 어떤 문제점이 있을까요?
(예를 들면 alaram 콜이 비싸다던지..)

foo라는 함수에게 일을 시킬때 "t시간동안만 일하고 결과를

리턴하라"

이 것을 구현한다면 다음과 같을 것입니다.

int foo( int 제한시간 )
{
alarm( 제한시간 );

작업A<=시간이 걸리는 작업..또는 무작정 대기중인 작업..

alarm(0);
return 0;
}

다행히 작업A가 제한시간 내에 끝난다면 문제 없을것이고.

제한시간보다 더 걸린다면 alarm콜의 영향으로 작업을 끝내고

zieben의 이미지

커널영역과 유저영역 사이의 메모리 카피에 대해서

일반적으로 device driver를 만들다보면
kernel영역과 user영역간에 메모리 카피를 위해서
copy_to_user이나 copy_from_user, put_user, get_user 등의 명령을 사용합니다.

그런데 만약 rtlinux용으로 device driver를 만든다면
device driver를 사용하는 프로그램도 결국 module로 만들어진 rt task이므로
kernel 영역에서 동작할 것이고..
그럴 경우 device driver에서는
copy_to_user 등의 명령 대신에 그냥 memcpy를 사용해도 되는건가요?

아니면 일반적으로 알려진 rt_fifo나 mbuff shared memory를 사용해서

leesort의 이미지

javacc로 parsing에서 질문..RE -&gt; nfa

javacc 의 parser를 아래와 같이 작성된 source를
컴파일하면 아무 문제 없이 잘됩니다. (이소스는 jstorm에서 퍼왔습니다.)
[code:1]void parseOneLine():
{
double a;
}
{
a=expr() <EOL> { System.out.println(a); }
| <EOL>
| <EOF> { System.exit(-1); }
}

double expr():
{
double a;
double b;
}
{
a=term()
(
"+" b=expr() { a += b; }
| "-" b=expr() { a -= b; }

lacovnk의 이미지

함수 스택에서, block안의 정의에 대한 궁금증

보통 함수가 call하면, 당시 stack은 이렇게 구성이 되는데

-----------
arg
----------- <- fp
saved register
-----------
local variable
----------- <- sp

다음과 같은 함수에서, in-block의 int c는 어떻게 처리해야 하나요?

int foo(int a, int b)
{
   int d;
//blabla
   { // in-block
      int c;
      blabla;
   }
}

block을 들어가서 선언을 만나면, sp를 옮겨버리고 그 사이를 int c 저장하는데 쓰면 되나요?

[code:1]-----------
arg
----------- <- fp

페이지

프로그래밍 QnA 구독하기