프로그래밍 QnA

mintunii의 이미지

Linux Clone 관련 질문 있습니다~

리눅스 관련 공부하는 초보학생인데요

clone함수를 사용할 경우 두번째 인자인 stack부분에 대해 궁금합니다.

#define STACK_SIZE 1024 (예로..)

child_stack = (void **) malloc(STACK_SIZE);
state = clone(.... , child_stack+STACK_SIZE/sizeof(void **), .... , ....);

두번째 인자에서요,

clone특성상 자식을 위한 메모리를 할당해주기 위해서 저렇게 동적할당 후 포인터를 넣어주는 거라고 알고있습니다. 또한

리눅스는 downward 로 메모리에 스택이 쌓이면 주소값이 내려간다고 알고 있는데

child_stack 뒤에 + 해주는 이유를 모르겠습니다;;;; 정확히 말하면 동적할당한 메모리를 가리키는 포인터를 가지고 어떤식으로 clone에서 사용하는지 모르겠습니다 ㅠ

그냥 동적할당을 가리키는 메모리 주소(child_stack만)를 넘겨주면 안되나요?

kid1402의 이미지

Critical Section으로 동기화를 할때..

현재 멀티 스레딩 환경에서 스레드를 여러개 쓰는 프로그램을 제작하고 있는데..

당연히 멀티 스레드가 접근하는 자원에 대해서는 CS로 동기화를 해주고 있습니다

그런데, 저 이전 사람의 작업을 보니, 멀티 스레딩 환경이긴 하지만 단 하나의 스레드만 접근하는, 즉 CS로 굳이 동기화를 해주지 않아도 순차적인 접근이 보장되는 자원에 대해서도 CS를 통해 동기화를 해주더라구요.

얼핏 생각하면 CS로 동기화를 하든 말든 잘 돌아갈거같은데..

혹시 멀티스레드 환경에서, 굳이 동기화를 할 필요가 없는 싱글 스레드 자원에 CS로 락/언락 작업을 할 때 일어날 수 있는 예외적인 상황에 대해 겪어보셨거나 아시는 분 계신가요?

하나라도 확실하게 하고 가고싶어서.. 질문남깁니다.!

garus0kh의 이미지

shell에서 반환되는 값에 대한 질문 드립니다.

안녕하세요.
리눅스 입문한 초보입니다.

용어를 몰라 질문이 다소 이상할수도 있지만..답변 꼭 부탁드립니다.

shell에서 실행파일을 실행하고(예를 들면 grep) 성공을 했을 경우

반환되는 되는 0이라고 알고 있습니다. 실패하면 1 이구요...
(이것은 echo $? 로 확인했습니다.)
인터럽트가 걸리면 130이라고 나오더군요..

그래서 드리는 질문이

어떠한 실행파일을 실행한다면, (예를 들어 grep)

어떠한 source에서 grep 파일을 불러서 실행하게 되나요?

질문을 드리는 이유는

echo $? 했을때 나오는 값들에 대한 상세한 정의가 알고 싶어서 입니다.

왜 성공하면 0이 나오고, 실패하면 1이 나오며, 인터럽트를 걸면 130이라는 숫자가 나오는지 궁금합니다.

어디선가 const로 정의해놓고 쓸텐데, 아예 맥락을 잡지 못하니 찾지도 못하고 있습니다

꼭 답변 부탁 드립니다! :)

snowavalanch의 이미지

전/후 평균값 비교를 awk로 하려는데, 그런 sample이 없어 도움요청드립니다.

전/후 평균값 비교를 awk로 하려는데, 그런 sample이 없어 도움요청드립니다.

아래와 같이 데이터가 있다면,
앞에서 10개의 평균을 구하고,
뒤에서 10개의 평균을 구해서,
그 차이를 보려고 하는데,
awk 샘플들이 모두 평균값 구하는 것만 있어,
도움 부탁드립니다.

cyk7890의 이미지

사진좀 보시고 왜 저런지 아시는분 대답좀..

왜 가장 오른쪽에 On2VP6 로 인코딩한놈이 화질도 가장 나쁘면서 용량은 가장 클까요.

그리고 GPX_ReduceColor 이란놈은 어떤 원리로 선명도는 그대로인상태로 용량이 감소한걸까요

k960903의 이미지

C++ 배열 크기 입력받기

배열의 크기를 cin을 사용해서 사용자에게 입력받고 싶습니다.
그런데 배열 크기는 상수로 정해줘야 한다고 계속 오류가 떠요ㅠㅠ 어떻게 하면 좋을까요?
(배열 크기를 크게 100정도로 잡아주고 입력받는 만큼만 돌리는 것은 이미 해봤습니다만, 메모리의 낭비라 생각되어 다른 방법을 알고 싶습니다.)

hiluciano의 이미지

어셈블리어 JLE와 JNG의 차이가?

JBE-JNA, JLE-JNG, JNE-JNZ

의미는 같아 보이는데 저렇게 명령어가 다른 이유가 무엇이죠?

cyk7890의 이미지

MFC 에서 사용되는 HDC 라는거.. 정수개념으로 이해해도 되나요 ?? VB 에서는 HDC 개념이 Long 타입인데..MFC 에서도 정수개념으로 인식하면 안되는건가요 ?

서론
제가 Visual Basic 6.0 으로 이미지 처리하는 소스를 하나 가지고잇는데요
PictureBox 컨트롤러에 대한 핸들러를 hDC 라는 개념으로 사용하는데 이게 타입이 Long 타입이거든요.. 정수형 타입인데요
이쪽에서 사용되는 DLL 이 하나 있는데.. 저 hDC 를 변수로 합니다.

질문

MFC 프로그래밍쪽에서도 VB 에서 사용했던 DLL 을 접목시키고 싶은데

hDC 를 변수로 주던곳에 MFC에서 사용하는 HDC 를 그대로 넘기니까 타입 에러가 나더라구요

MFC 에서 사용되는 HDC 는 어떤 타입이라고 생각해야하죠 ? 정수형으로 보면 안되는건가요? 강제로 Int 나 Long 형태로 캐스팅 해봤지만 정상적으로 작동을 안하더라구요..

junpil5541의 이미지

리눅스 mac address 와 ip 바인딩

안녕하세요.
리눅스에서 프로그래밍을 하고 있는데 막히는 부분이 있어서 질문 올립니다.
한개의 보드에 2개의 네트워크 카드를 올려서 실험을 하고 있는데
2개의 소켓과 각각 네트워크 카드를 바인딩하여 속도가 얼마나 빨라지는지 보고 있습니다.
그런데 문제가 소켓과 네트워크 카드를 바인딩해서 데이터 전송 하는 과정에서는 ip가 2개가 나오는데 속도가 바뀌지 않아 wireshark를 통해서 실제로
확인을 해보니 1개의 네트워크 카드만을 사용해서 데이터를 전송하는 것을 확인 했습니다.(mac주소가 1개만 나옴) 어떻게 해야 2개의 네트워크 카드를 통해서 데이터를 전송할 수 있을까요?? mac address binding ip address 이런 문제로 생각 할 수 있을 것 같습니다.

페이지

프로그래밍 QnA 구독하기