프로그래밍 QnA

wonjnlee의 이미지

[도와주세요!] IP 주소 충돌/변조에 대해 궁금한점이 있습니다

안녕하세요.
네트워크 관련해서 궁금한 점이 있어서 질문합니다.

1.
A라는 사람이 192.168.1.10을 사용하고, B라는 사람이 192.168.2.11을 사용한다고 가정했습니다.
A가 B로 데이터를 전송합니다.
만약 C라는 사람이 192.168.3.12라는 ip를 사용할때, B인척하고 A의 패킷을 받아오려면 C의 ip 주소를 B로 바꿔야하지 않습니까?
그렇게 되면 ip 충돌이 생기지 않나요?
혹 이러한 작업이 근거리 망이 아니라 국가간에 멀리 떨어진 곳에서의 ip 주소가 되면 가능하려나요?
아니면 동일하게 ip 충돌이 발생하나요?

2.
각 랜카드는 자신과 연결된 ip 주소로 통신을 하는 것으로 알고 있는데요.
그러면 랜카드에 있는 ip 주소를 바꿀 수 있나요?
바꾸게 되면 이 주소는 실제 주소가 아니라 가상의 주소(속이기 위한 주소)로 사용하게 되나요?

질문이 좀 서두없는데.. 혹시 잘 이해가 안가시면 답글로 남겨주시면 정말 감사하겠습니다.!

pwy1575의 이미지

open ,write, read close 관련 질문있습니다.

안녕하세요

open ,write, read close 4가지 함수를 이용해서 디바이스 장치와 통신하는 간단한 프로그램 작성중 이해가 안되는 부분이 있어 질문드립니다.

cylee의 이미지

mfc에서 bitblt함수 질문이요!


일단 코드 먼저 봐주세요!

void CPracticeDlg::OnBnClickedButton1()
{

CPaintDC dc(this);

CClientDC WinDC(this);
CDC MemDC;

MemDC.CreateCompatibleDC(&WinDC);

CImage img;
CString strImagePath = _T("C:\\Users\\LEE\\Desktop\\Test.bmp");
HRESULT hResult = img.Load(strImagePath);

int width, height;
width = img.GetWidth();
height = img.GetHeight();

CDC* pDC = GetDC();

rlj1202의 이미지

c 언어에서 구조체 포인터 변수의 맴버 접근에 대해서...

일반적인 포인터 변수같으면 Test라는 구조체가 있을때 Test * test; 라는 변수가 있다고 하면 맴버를 접근할 때 test->맴버 로 접근하고, 이는 곧 (*test).맴버 와 같잖아요?
그런데 제가 jni 에서 JavaVM* vm 이라는 포인터에서 함수를 접근할때

(**vm).함수명;

으로 접근해야 실행할 수 있더군요.
분명 vm은 이중으로 포인터를 사용하고 있는것 같지 않은데...

그래서 생각해 보건데, 다음과 같은 일이 가능한가요?

int a = 123;
int *b = &a;

int c = b;

printf("%d", *c);

이런식으로 일반 변수에 주소값을 담고 그 변수에 주소값 참조명령을 사용할 수 있는건가요?

자바를 하다가 c언어를 하니 포인터가 제일 어렵네요.

kbs1439의 이미지

임베디드 리눅스 어플리케이션 프로그래밍 디버깅 중 실행파일 끄고 삭제 시 몇분간 삭제가 안되는 문제 관련해서 문의드립니다.

안녕하십니까.

임베디드 리눅스 환경에서 어플리케이션 제작하고 있습니다.

헌데 어플리케이션 디버깅 중에

보드에서 실행파일을 실행하고 SIGINT 신호로 종료 하고 해당 파일을 삭제하려고 하면 몇분간 삭제가 안되고 블록되는 현상이 있습니다.

정확한 원인을 모르겠네요.

메모리 문제인지 어떤 코드가 잘못된게 아닌가 싶은데요.

실행파일은 nfs로 보드에서 리눅스 PC로 접속하여 실행하였고, SIGINT로 종료 후 리눅스 PC에서 make clean이나 rm으로 실행파일을 삭제하려면 몇 분간 삭제가 되지 않습니다.

도움 주시면 감사하겠습니다.

cylee의 이미지

mfc에서 비트맵 출력하는 거 질문이요!ㅠㅠ

제가 mfc 이용해서 비트맵 파일이랑 헤더정보까지 같이 출력하는 프로그램을 짜고 있는데

비트맵 출력부터 막히네요ㅠㅠㅠ흑

일단 콤보박스이용해서 사진 선택한 후 버튼 클릭하면
새로운 창에 비트맵 이미지가 올라오도록 하려고 하는데

CWnd *pWnd = (CWnd*)GetDlgItem(IDC_PIC);
CDC *dc = pWnd->GetDC();
CStatic *staticSize = (CStatic *)GetDlgItem(IDC_PIC);
CRect rect;

staticSize->GetClientRect (rect);
m_lmg.Load("C:\\Users\\LEE\\Desktop\\GSPS_MeasureLine2D.bmp");
m_lmg.Draw(dc->m_hDC,0,0,m_lmg.GetWidth(),m_lmg.GetHeight());
이렇게 했더니 새로운 창도 안뜨고 원래 있던 창에 사진 일부만 뜨네요ㅠㅠㅠ 아이건 어찌저찌하다가 static 컨트롤 이용해서 비트맵 출력한 겁니다!

lhw3110의 이미지

스킵리스트 구현중인데 오류가 자꾸 납니다.

현재 스킵리스트를 구현중입니다. 구현하다가 노드 포인터를 만들어서

그 노드가 list의 head를 가르키게 만들고 싶은데 cur에 자꾸 아무 값도 들어가지 않습니다.

아래 제 코드인데 고수님들 부탁드립니다.

nixon4545의 이미지

리눅스에서 open 함수에 대한 질문입니다...

리눅스에서 open 함수에 대한 정확한 정의구현 부분을 보고 싶은데

fctnl.h를 뒤져보니 extern 형태로 선언되어 있네요...

확실하게 정의가 되어있는 곳을 보려면 어디를 찾아가야 할까요?

ozon1000의 이미지

Haskell compiler를 공부하고 있습니다.

technical overview를 살펴보면 Haskell은

Haskell code -> core language -> STG language -> abstract c 이런 순서로

중간코드가 생성되던데요.. (자세하고 확실하지는 않습니다.)

이렇게 여러개의 언어로 번역되고 실행되면 장점은 무엇인지 궁금합니다.

사실 아직 core language랑 STG language가 무엇인지는 잘 모르겠습니다...(너무너무 어렵네요)

질문은 그것입니다.

여러개의 중간코드로 생성되어 최종 목적코드로 실행되면 다른 C 혹은 C++ 등의 언어(절차형)
와 비교해서 장점이 무엇이 있을까요?

페이지

프로그래밍 QnA 구독하기