프로그래밍 QnA

newold의 이미지

entry.S에 대한 질문

시스템 콜이 일어나기 전과 시스템 콜이 발생한 후에 각각 시스템콜에 대한 정보를 가져와서 로그를 남기는 프로그램을 짜고 싶은데요.
아무래도 모든 시스템 콜이 발생하기 전과 후에 정보를 얻어올려면 entry.S(어셈코드)에서 어떻게 해야할것 같은데 그 위치와 방법을 모르겠네요.
대충 코드를 봐서는 293번 라인에서 sys_call_table(,%eax,4)와 같은 방법으로 시스템 콜 테이블에서 해당 시스템 콜에대한 주소를 가져와 처리 되므로 그부분 앞에서 시스템 호출이 일어나기 전에 시스템 호츨에 대한 정보를 얻을수 있을것같은데,

rainblow의 이미지

Memory Leak인듯 한데요.. 소스코드 보시고 조언좀 부탁드립니다

클래스의 멤버로 가지고 있는 다른클래스의 포인터에 new로 생성한 클래스인스턴스를 할당했다가 새로운 클래스로 그값을 대치하려고 합니다.
이를 저는 linked list에서 멤버 교체할때처럼 하면 된다고 생각했는데,
메모리가 줄질 않는군요.
코드보시면 아시겠지만 destructor에 printf한값들은 전부 찍히고 있습니다..뭔가 제가 잘못이해한 부분이 있는듯 한데..
코드보시고 조언좀 부탁드립니다. 환경은 RH8.0 + gcc3.2 입니다.

아래 코드의 ⓐⓑⓒ에서의 메모리값을 top명령어로 본것을 옮겨보면

gimelove의 이미지

화상 관련 프로그램을 짜는중입니다... 이미지가 안들어오는 것

len = read (camera.dev,camera.picbuff,camera.vid_win.width*camera.vid_win.height*3)

이렇게 이미지를 읽어오는데요... 이값을 true , false로 리턴하게 한 결과 false만 계속뜨네요.... 이렇게 read 해주는것이 틀린 방법인가요??

junteken의 이미지

이런 문제가 있을때 어떤방향으로 문제해결을 하여야 할까요?

현재 임베디드시스템위의 QPlus에서 GTK를 이용한 간단한 프로그램을 하나 짜고 있습니다.
호스트상에게 개발이 완료되어 보드로 포팅을 하는데...프로그램이 올라가는 도중에 자꾸 보드전체가 다운되어버리는 겁니다.
그래서 하나씩 문제를 찾아가는 pthread라이브러리와 관련이 있음을 알게 되었습니다. 그래서 tinyx를 안뛰우고 pthread를 쓰면 thread생성이 잘되어 문제 없이 돌아가지만 tinyx를 뛰우고 thread를 쓰면 보드전체가 다운이 되어버립니다.
이런 문제가 있을때 어떤방향으로 문제해결을 하여야 할까요?

시렌의 이미지

배열의 원소의 갯수를 알고 싶을때...

int size = 46 + 2 * 44100 * 2 * 98 / 8;
int* wav = (int *)malloc(size*sizeof(int));
printf("%d" , sizeof(wav) / sizeof(int));

로 하면 값이 1이 나옵니다.
포인터가 배열의 첫번째 원소를 가리키기 때문에 저렇게 하면 배열의 첫번째 원소의 크기에 int의 크기를 나누니깐 결국 첫번째 원소의 갯수만을 리턴하는건데..

그럼 배열 전체의 원소의 갯수를 알고 싶다면 어떻게 해야할까요?

zelon의 이미지

C++ 표준 라이브러리를 이용한 프로그래밍...

c++ 의 표준 라이브러리 프로그래밍을 문득 공부해보고 싶어졌습니다. 윈도우 프로그래밍에 익숙하던 제게 문득 이 생각이 들더군요. 현재 소스 코드는 플랫폼에 너무 종속적이다...

그런데 말이죠. 이상하게 C++ 표준 라이브러리를 쓰는 건 iostream 이랑 stl 종류 밖에 안 쓰고 있었습니다. 파일 입출력은 C 의 fopen 등으로 처리하고 말이죠. fstream 도 학교 과제할 때나 쓰지 제대로 써본적이 없었네요. fstream 의 getline 과 >>, << 만 쓰고...

어느 스터디 시간에 - Modern C++ 을 보고 있었습니다 - 다른 분들한테 C++ 로 어떻게 파일 스트림을 다루냐고 하니, 제대로 아시는 분들이 없더라구요. 다들 fopen 으로 다루는게 편하신 듯...

hshthsh의 이미지

클래스내 static변수에 할당된 메모리가 다른 영역에 영향이 있?

안녕하세요..
정확히 어떤 문제인지 몰라서 질문하게 되었습니다.

아래와 같이 맴버변수가 모두 static으로 선언된
클래스가 있는데요.
m_sFatalError 맴버변수를 memset(sFatalError ,0x00,100)후 다른 값으로 갱신하니
그 아래 맴버변수 m_bExitforError, m_bError ,m_bException가
다른 값으로 바껴 버립니다. 그래서 bool형 변수 3개와 char 배열 변수의
위치를 바꿔보니 그런 현상이 없어졌는데 아무래도 값을 갱신하다가
아래 변수메모리에 영향이 미친 것 같은데 전에도 heap메모리 쓰다가

oprsystem의 이미지

[질문]lex,yacc

윈도우에서 쓰고 싶은데.. 혹시 윈도우용 이 있나요?
C 코드로 생성하고 싶습니다.

cygwin 은 설치되어 있지 않습니다.

아시는분은 답변 부탁 드립니다.

googlejoa의 이미지

컴퓨터 인터럽트 순서에 대하여....

컴퓨터 인터럽트 등에 관한 질문인데요.
(여기다가 올리는게 맞나요?)

키보드를 누르면 어떤 작동이 일어나잖아요?
이렇게 각종 인터럽트를 처리할 수 있는 인터럽트 벡터 테이블 같은게 있을텐데 어디에 위치하게 되나요?
램 의 특정 주소에 올라가 있나요?

그러니까 제가 궁금한것은 인터럽트가 처리되는 하드웨어, 소프트웨어적인 구체적 순서가 어떻게 되느냐 입니다.

부탁드려요.

ecsahn의 이미지

#warning Using kernel header in userland 라는 메시지

안녕하세요. 드바이스 드라이버를 새로 시작하는 초보입니다.

헤더파일에서 에러가 나서 헤메고 있는데요.

#include "linux경로/linux/module.h"
#include "linux경로/linux/kernel.h"
#include "linux경로/linux/malloc.h"
#include "linux경로/asm/uaccess.h"

void main()
{ }

이라는 아무 의미없는 c파일이 컴파일이 안됩니다.
레드햇9.0 배포판 gcc를 사용하면
#warning Using kernel header in userland 라는 메시지가
자주 뜨고 결국 컴파일이 안되는데요. (다른 메시지도 많습니다)

페이지

프로그래밍 QnA 구독하기