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

twinwings의 이미지

C에서는 auto나 decltype 같은 예약어가 도입될 가능성이 없을까요?

혹시나 해서 gcc -std=c11 옵션 주고 해봤는데 역시나 안되네요.

간단한 매크로 작성(swap 같은) 할 때 편할 것 같은데...

dlagyrbs의 이미지

선배님들 OS hierarchical page table 기법에 대해 궁금한게 있습니다.

운영체제 공부를 하면서 몇가지 궁금한것들이 생겼는데요

1. hierarchical page table 기법이 나오게된 정확한 이유가.. Virtual Memory 공간이 너무 커져서 탄생하게 된건가요?
예를 들면 32bit 머신에서 64bit 머신으로 바뀌게 되면 2^64 bit의 가상주소공간이 필요하게 되었고 이를 표현하기위한 페이지 테이블의 갯수가 너무 많이 증가하여서 이런 문제점을 해결하려고 만들어진것인지 궁금합니다.

kimtaehan91의 이미지

c언어 기본적인 질문

안녕하세요 C언어를 공부하고있는 학생입니다.

리눅스 환경에서 공부를 하고 있습니다.

질문은 리턴 값에 관한 건데 최근 엔디안이란걸 알아서 리틀 -> 빅엔디안 변환하는 과정에서 궁금한게 있어 질문합니다.

아래와 같이 스왑 해주는 함수를 만들어서 스왑까지 성공을 했는데

int int_swap(int int_buf,int int_buf_size)
{
int i;
int output_int_buf;
char *char_buf = (char*)&int_buf;
char *output_char_buf = (char*)&output_int_buf;

for(i = 0; i < int_buf_size; i++)
output_char_buf[i] = char_buf[int_buf_size - i - 1];

return output_int_buf;
}

mydream의 이미지

PtInRect와 같은 함수가 없을까요?

Visual Studio 2008 C++로 FillRect로 만든 사각형을 움직여서 먹이를 먹는 프로그램을 만들고 있습니다. 먹이는 점의 좌표이고 SetPixel로 점을 찍었고요. 그리고 사각형(이하 '팩맨'이라 하겠습니다.)이 먹이를 집어삼키면 먹이가 없어지도록 했고요. 이를 감지하기 위해

if(PtlnRect(팩맨, 먹이)) {
//먹이를 먹었을 때의 처리를 해준다.
}

라고 해서 팩맨이 먹이를 삼켰다는 것을 인식하도록 했고요.
그런데 먹이를 점이 아닌 다각형 Polygon으로 표현하고 싶은데, 이럴 경우에는 팩맨이 먹이를 삼켰다는 것을 어떻게 인식하게 할 수 있을까요?

if(anyfunc(팩맨, 다각형먹이)) {
//먹이를 먹었을 때의 처리를 해준다.
}

이 때 anyfunc 함수로 API에서 제공하는 함수가 무엇인지 알려주시면 감사하겠습니다.

muz0880의 이미지

멀티스레드의 문제라는 게 멀티 프로세스 환경에서는 일어나지 않나요?


멀티 스레드의 문제점 중에 스레드들이 한 공유자원을 사용할 때 동기화를 해 주지 않으면
작업 중 컨텍스트 스위칭이 일어나서 데이터를 저장하고 불러오는 과정 사이에서
작업 반영이 안되거나 예기치 않은 값이 들어가는 현상(무어라 하는 지 잘 모르겠습니다..)이
일어나는 데..

스레드가 아닌 멀티 프로세스의 경우 같은 상황에서 A가 자원을 읽고 쓰기 전에
B가 자원을 읽고 쓰거나하여 결과적으로 A,B의 작업 결과가 모두 반영되지 않거나
이상해지는 경우가 동일하게 일어날 수 있는 게 아닌가요?

아니면 혹시 스레드의 문제라는 건 메모리공간을 공유하면서 컨텍스트 스위칭 시
이전 내용을 같은 곳에 저장하기 때문에 생기는 일인가요?

.. 머리 속에서 자꾸 헷갈리고 모르는 상태로 답이 안나와서 여쭙니다..

yhkim의 이미지

두개의 네트워크카드를 이용한 소켓 프로그래밍

Linux-64bit 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

가상머신에서 리눅스설치하여 소켓 프로그래밍 중에 있습니다.

두개의 네트워크카드를 이용해서 2개의 세션을 하나의 서버에 연결하려고 해서 UDP 또는 TCP 통신을 하여 데이터를 주고 받으려고 합니다.

구글링 결과 setsockopt에 SO_BINDTODEVICE 이용하면 사용하고자 하는 인터페이스카드를 쓸수 있다고해서

사용해 보았지만 와이어샼을 이용해서 패킷을 캡쳐해본 결과 서로 다른 인터페이스를 통해 패킷은 주고 받았지만 어플 레벨에서는 실제 패킷을 받지 못했습니다..

도움을 요청합니다..

lchy0113의 이미지

spi to uart & uart to spi converter 질문입니다.

안녕하세요.
spi device 를 uart device를 통해서 data를 read/write 를 할수 있는 방법에 대해 검색을 하다 질문을 남기게되었습니다.
IC로 되어진 제품은 bridges가 http://www.nxp.com/documents/leaflet/75015676.pdf 링크와 같이 있다만, 소프트웨어 적으로 구현하려 합니다.
소프트웨어적으로 구현된 정보를 답변해 주시면은 감사드리겠습니다.

telepathy070의 이미지

c++과 php 소스 공유

c++ 로 만든 클래스나 structure 구조를 php에도 적용할수 있게 소스 제너레이터 같은 툴이 있나요?

예를들어

jic5760의 이미지

하나의 객채를 여러 개채가 공유해야 할때 어떻게 하나요???

class Parent {
 protected int m_a;
}
 
class Child1 : Parent {
 private int m_b;
 
 void func(){
  this.m_b = base.m_a; // m_a 접근가능
 }
}
 
class Child2 : Parent {
 private int m_c;
 
 void func(){
  this.m_c = base.m_a; // m_a 접근가능
 }
}

간단하게 이런 코드가 있을 때 Child1, Chile2에서 같은 Parent 객체를 공유하고 싶습니다.

kjh2663의 이미지

커널에서 software raid 지원을 안하는 것 처럼 보이는데 추가 확인방법이나 조치방법이 있을까요?

필요한 정보 검색하면서 kdlp포럼 많이 참고해서 도움받았는데, 처음으로 가입해서 첫 질문글을 올려보네요.

운영장비 HDD 배드섹터로 장애가 난뒤로 software raid 구축방법을 알아보고 있습니다.
많은 블로그들 및 사이트에 설명은 자세히 나와있어, 1차적으로 가상머신으로 테스트해보았죠.
mdadm을 이용하여 이상없이 raid 구성이 된듯 하여, 실제장비와 같은 예비장비에 테스트를 해보려고 보니...

2.4때부터 도입되서, 보통 2.6버전 커널이상이면 지원된다고 나와있는 글을 몇몇개 봤는데..
실제장비는 2.6.15버전 커널(fedora 5.5)인데 해당 모듈이나 필요한 구성요소가 안보이는것 같군요.
mdadm 없음, /lib/module/2.6.15~/kernel/drivers/에 md 없음, /proc/mdstat 없음, /proc/device Block device 주번호 장치없음 등..
처음에는 mdadm 패키지가 안깔려있어 그런가 했는데, 패키지를 깔아보아도 마찬가지네요.

페이지

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