프로그래밍 QnA

morolty의 이미지

#define ASDF "/tmp/test.log" 를 char *ASDF="/tmp/test.log" 로 바꾼다면 동일하게 동작할까요?

기존 만들어져 있는 프로그램을 수정하는 중입니다..

일단 프로그램에서 /tmp/test.log파일을 참조하게 돼 있는데,

그걸 프로그램이 설치된 디렉토리의 하위 tmp 디렉토리로 바꾸는 작업을 하고 있습니다.

그런데 디파인으로 박아넣어버린 저런 ASDF라는 변수(?) 에 대해서는 상대주소를 대입할수가 없네요..

밑에서 프로그램이 설치된 디렉토리를 받아와서 그 후에 ASDF에 집어넣어야 할것 같은데요...

일단 상식적으로 생각해보면 별로 문제가 없을거 같긴한데 혹시나 이런작업 중에 뭔가 문제가 발생한 경험이 있으신분이 계실까 해서 질문드려봅니다..

읽어주셔서 감사합니다.

highi의 이미지

커널에서 입력 장치의 입력을 해당 프로세스에게 전달하는 과정을 알려주세요

리눅스 3.14 버전에서 코드 보고 있습니다.

gui환경에서 키보드나 마우스 입력과 같은 장치의 입력 경우, 입력 이벤트를 특정 프로세스에게 전달하는 것은 어떻게 이루어지나요?

키보드에 관한 디바이스 드라이버는 (Linux)/driver/tty/vt/keyboard.c 에서,
마우스에 관한 디바이스 드라이버는 (Linux)/driver/input/mousedev.c 를 살펴보고있는 중이고, input,h 및 input.c, evdev.c도 같이 코드를 보는데...

input_report_key
---> input_event
----->input_handle_event
-------->input_pass_value
---------->input_to_handler
이런식으로 호출이 되고, input_to_handler() 에서 각 디바이스 드라이버의 핸들러에 정의되어 있는 event 함수를 호출한다는 것 까지는 알겠습니다.

kruzo9573의 이미지

C++코드 확인좀 부탁드립니다. 단위임펄스함수구현했습니다.

안녕하세요. 단위임펄스 함수를 MFC로 구현해봤습니다.

단위임펄스함수의 정의대로 구현했는데 이렇게 해도 되는지 확인좀 부탁드려요.
MATLAB으로 구현하는 방법은 인터넷상에 많이 돌아다니는데 MFC로 구현하는 방법은 찾을수가 없네요ㅜㅜ

초짜배기가 만든 C언어 코드좀 검증해주세요 그리고 이렇게 구현하는 것이 실제 단위임펄스 함수의 정의에도 위배되지 않는지좀 확인해 주세요. 구현 모습도 첨부해서 올려드립니다.

void CMy140906View::OnDraw(CDC* pDC)
{
CMy140906Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

// TODO: 여기에 원시 데이터에 대한 그리기 코드를 추가합니다.
double x=0;
double y=0;
double a=0;
double b=0;
double t=0;
double z=0;

int f=360;

hxploit의 이미지

리눅스 pthread(NPTL) 은 유저레벨 쓰레드인가요? 그 구현이 궁금합니다...

리눅스에서의 pthread 구현은 디폴트가 유저레벨 쓰레드로 알고 있는데,
(PTHREAD_SCOPE_PROCESS 가 지금 정상적으로 구현이 되었는지도 잘 모르겠습니다.)

유저레벨 쓰레드라면 어느 한 쓰레드에서 시스템 콜을 호출한 상태로 만약 대기하면
다른 쓰레드로 스위칭을 못하는 게 정상일 거 같은데,

당연한 얘기지만 메인 쓰레드에서 usleep(10000000); 정도 돌리고 다른 쓰레드에서는
무언가를 마구 출력시켰는데 뭐 멀쩡히 잘 동작하더군요.

biokk의 이미지

qt에서 open 함수를 사용시 QDialog::open() 함수말고 c함수의 open을 사용하려면 어떻게 해야 하나요?

qt에서 open 함수를 사용시 QDialog::open() 함수말고 c함수의 open을 사용하려면 어떻게 해야 하나요?

qt에서 c에서사용하는 파일오픈함수를 사용해볼려고 하는데요

open함수를 쓰니깐 Qdialog::open()함수로 연결이 되더라구요
제거 사용할 open함수는 c의 open 함수 인데요

qt(cpp)에서 c open 함수를 사용하려면 어떻게 해야 하나요?

Lightstar의 이미지

deep packet inspection

deep packet insepection을 구현해보고 싶은데 이거 공부하려면 뭘 찾아봐야하나요?
패킷의 앞부분, 헤더, 목적지와 같은 정보외에 내용을 검사한다는 개념은 알겠는데 이걸 구현한다고 하면
일단 패킷을 수집해서 그냥 패킷 내용부분 read해서 그걸로 작업하면되는건가요?
특별한 기술이 필요할거 같은데 패킷이 암호화되어있지 않다면 헤더 자르고 내용만 파싱하는건 어렵지 않지 않나요?

seojh1431의 이미지

SHA-512 첫번째 순서인 패딩 길이 붙이기와 두번쨰 순서인 메시지길이 붙이기가 잘 이해가 안되네요...

sha-512 에서 패딩은 896(mod 1024) 로 나타내라고 되있는데 만약 1919비트라면 1024로 나눠서 895비트가 됩니다

여기서 896비트로 맞춰주어야 하니까 맨 마지막 한 비트를 0으로 채워줘야 하나요??

그리고 뒤에 128비트는 메시지길이비트라는 의미인데.. 128비트는 모두 0으로 채워지나요?

악 이해가 안되!!

SHA-512 나 MD5 등 이런 해쉬함수 알고리즘이 잘 정리 되 있는 사이트 없을까요?? 영어로 말고 한글로요 ㅜㅜㅜㅜㅜ

seojh1431의 이미지

SHA-512 알고리즘 첫번째 패딩비트 붙이기와 두번째인 메시지 길이 붙이기 질문입니당

패딩 비트 붙이기는 896(Mod 1024) 로 나타내라고 했으면 즉..

패딩비트 붙이기는 895비트이고 두번째 순서인 메시지 길이 붙이기의 비트는 124비트가 나오게 됩니다.

그렇다면 1919비트를 패딩비트 붙이기에 따르면 이렇게 되나요?(제 생각입니다)

1919를 1024로 나눠서 나머지를 적는다.. 나머지는 895이다. 하지만 여기서, 패딩비트붙이기는 896비트가 채워져야 하므로 맨 마지막 한 비트는 0으로 채운다.. 이렇게 되는건가요?

124비트는 메시지 길이 붙이기가 되는데.. 문제는 '0' , '1' 로 어떻게 채워나가야 할 지를 모르겠습니다.

그리고 만약 1921비트라면 1024로 나눴을때, 897비트로 패딩비트를 초과하게되는데(896인데 1비트 초과)
여기서 어떻게 패딩비트 붙이기를 하고 메시지비트 붙이기는 또 어떻게 표현을 해야하는지 모르겠군요..

가르쳐주세요 ㅜㅜ 그리고 SHA MD5 이런.. 알고리즘 개념부분들을 정리한 문서 같은거나 사이트 있나요?? 영어말구요 ㅡㅜ

grepin의 이미지

org.apache.jasper.JasperException: Unable to compile class for JSP

안녕하세요.
리눅스에 웹프로젝트를 올리는 과정에서 어려움이 있어서 도움 좀 부탁드립니다.
만들어진 웹프로젝트를 서버에 올렸는데, 디렉토리는 아래와 같습니다.

/home
ㄴ/test
ㄴindex.jsp
ㄴfront
ㄴjs
ㄴcss
ㄴimages
ㄴWEB-INF

자바 클래스파일들을 임포트한 어느 jsp 파일을 index.jsp 가 위치한 /home/test 경로에 두면 정상적으로 페이지가 나오는데,
/home/test/front 에 두면 아래처럼 에러로그가 뜹니다.

org.apache.jasper.JasperException: Unable to compile class for JSP:

페이지

프로그래밍 QnA 구독하기