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

unuseid의 이미지

상수 머신 엡실론값?

아래는 실수를 문자열로 변환해주는 함수 인데 허점이 있는거 같습니다.

잘 작동할도 있고 오작동할때도 있는데
오작동 하면
30.8을 변환하면 30.7999999 가 되버립니다.

원인을 파악하기 위해 로그를 남기던중
do while부분에서 문제가 발생하기 시작하는것을 발견했습니다.

상수인 FLT_EPSILON값이 정상작동할때는 0.00000으로 출력되고
오작동시에는 nan으로 출력되며 do while문을 과도하게 많이 돌게 됩니다.

왜 이런현상이 나타나며 해결방법은 무었일까요?

unuseid의 이미지

실수에서 정수형변환시 값손실

아래는 실수를 문자열로 변환해주는 함수 인데 허점이 있는거 같습니다.

잘 작동할도 있고 오작동할때도 있는데
오작동 하면
30.8을 변환하면 30.7999999 가 되버립니다.

원인을 파악하기 위해 로그를 남기던중
형변환시 값손실이(14.0 -> 13) 일어나고 그로인해

정상작동시에는 while문을 몇번 돌지 않지만
오작동시에는 do while문을 과도하게 많이 돌게 되는것을 발견했습니다.

어떻게 해결해야 할까요..?

owcred601의 이미지

[SOLVED] Json-C 질문있습니다.

안녕하세요.

Json-C 를 사용하고 있어서 해당 파일을 다운받았는데요, 컴파일도 아래 홈페이지를 따라서 진행했습니다.
https://github.com/json-c/json-c

별 문제는 없어보이는데, 신경쓰이는 점이 있습니다.

리눅스 베이스인데, 중간에 Win32 를 추가하거나 설정파일의 Platform이 Windows로 작성되어 있습니다.
미리 작성된 Makefile.am 을 보니

README-WIN32.html 이나 config.h.win32 등의 파일을 포함하는 경우가 많은데,
신경쓰지 않아도 될까요?

제가 Automake 룰 따라서 작성했을 때, 괜히 오류가 생길 것 같아서 기존에 있는걸 사용하고 싶은데,
위 json-c 다운받는 것 외에는 따로 다른 곳은 없습니다.

unuseid의 이미지

strncpy함수 사용중인데 깔끔하지 않습니다

문자열로 표현된 값을 double 형으로 바꾸는 동작입니다
strncpy함수를 이용해서 문자열중 일정 구간을 복사해 이를 atof함수를통해 double형에 저장하는데

strncpy 동작후에 값이 깔끔하게 만들어지지 않습니다.
당연히 atof동작을 통해 원하는 값을 변수에 저장할수 없구요
어떻게 수정하는게 좋을까요?

skyjjogari의 이미지

라즈베리파이 폴더 인식 불가 문제

라즈베리파이에 라즈비안OS올려서 사용중입니다.

전원 인가하고 부팅되고 나서..

폴더를 열려고 하면 먹통이 됩니다.

그... /home/pi 이 폴더는 누르면 시계나오면서 안열리구요

그 외 시스템관련 폴더들은 잘 열립니다.

문제는 pi폴더 안에 작업해야 할 파일들이 있는데 저 폴더가 열리지를 않아요

잘 사용하다가 한번씩 저러던데..

혹시 원인을 알 수 있는 방법이 있을까요?

추가적인 내용이 필요하시면 알려드리도록하겠습닏 ㅏㅠㅠ 도와주세요 ㅠㅠ

ybg7955의 이미지

java 쓰레드 질문

안녕하세요 자바 쓰레드 배운지 얼마안되서 질문드리는데요

예를 들어서
public static void main(String[] args){
SingleThread T1 = new SingleThread();
SingleThread T2 = new SingleThread();
SingleThread T3 = new SingleThread();
SingleThread T4 = new SingleThread();

T1.start();
T2.start();
T3.start();
T4.start();
}

whobc의 이미지

리눅스 ruid, euid 저장 위치

리눅스에서 프로세스와 ruid, euid에 대해 공부하던 중 턱 막히는 부분이 있어 질문드립니다.

먼저 ruid와 euid에 대해 알고 있는 내용은 이렇습니다.

프로그램이 실행되어 프로세스가 되면 실행자의 id로 그 프로세스의 ruid가 세팅된다.

만약 이 프로그램이 setuid가 설정되어 있었다면 euid는 그 프로그램의 소유자의 id로,

setuid가 설정되어 있지 않았다면 euid는 프로세스 실행자의 id 즉, ruid와 같게 세팅된다.

리눅스 커널은 실행된 프로세스의 euid를 보고 판단하여 그 프로세스가 시스템 내의 특정 자원에 접근해도 되는지 판단하고 이를 허용 또는 불허한다.

또, 실행된 프로세스가 프로세스 내에서 다른 프로그램을 실행시킨다면 리눅스 커널은 실행되어 있는 프로세스의 ruid를 가지고 새로 실행되는 프로세스의 ruid로 설정한다.

여기까지 입니다.

그런데 리눅스 커널이 프로세스의 ruid와 euid를 보고 그 다음 행위를 판단할 수 있다는 얘기는

lkh의 이미지

TCP SYN Flooding

Dos에 대해 공부하고 있는 학생입니다.
TCP SYN Flooding으로 백로그큐를 가득 차게 하면 해당 포트가 처리를 못하고 완전히 뻗는건가요? 아니면 계속 처리하긴 하는데 처리 속도보다 빠르게 들어와서 그러는 건가요?
그리고 꽉 찬 후 다 비워지는데 얼마나 걸리나요?

jaehungim31의 이미지

실수로 vim 디렉토리 삭제

실수로 vim 디렉토리를 삭제했는데요..

# apt-get autoremove --purge vim
# apt-get clean
# apt-get install vim 

을 해보아도 다시 생성되지 않습니다.

이것때문에 시스템을 다시 설치하기에는 백업해야할 자료가 너무 많은데 어떻게 다시 생성할 방법은 없을까요?

park3250의 이미지

FFmpeg 멀티스레드 질문드립니다.

안녕하세요
FFmpeg 영상 스플릿, 먹싱하는 라이브러리가 있는데요

이를 멀티스레드에서 개별적으로 라이브러리 객체를 생성해서
스플릿, 먹싱 테스트를 하려고 하는데요

락부분까지 추가되어있는데 멀티스레드로 실행하다보면

페이지

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