프로그래밍 QnA

lhs8421478의 이미지

[완료] [C언어] AVL 트리 관련 질문 입니다.

요즘 C언어를 공부하고 있는 사람입니다.

AVL트리를 연습하고 있는데 책에서는 이중포인터를 쓰길래 좀 변형을 해서 작성을 해보았습니다.

그러다보니 궁금한게 몇가지 생기더군요... 우선 소스 입니다.

sharpguy87의 이미지

tun6to4

tun6to4 방법으로

ipv6 Pc -- 4-net -- ipv6 Pc 를

아래 방법을 사용하여 연결하였습니다.

1) 6to4 터널 인터페이스 생성
# /sbin/ip -6 tunnel add tun6to4 mode sit ttl remote any local

6to4 터널 인터페이스 생성 예
# /sbin/ip -6 tunnel add tun6to4 mode sit ttl 64 remote any local 203.254.38.37
이제 생성된 tun6to4 인터페이스를 활성화 시켜야 합니다.
2) tun6to4 인터페이스의 활성화
# /sbin/ip link set dev tun6to4 up
3) 이미 계산한 Local 6to4 게이트웨이 주소를 tun6to4 인터페이스에 추가
# /sbin/ip -6 addr add /16 dev tun6to4

wmjj의 이미지

소스파일이 모듈을 빌드했을 때와 다릅니다

안녕하세요
비주얼스튜디오2008로 작업을 하고 있는데요
브레이크포인트 설정하고 디버그시에 ...

" 소스파일이 모듈을 빌드했을 때와 다릅니다. "
라는 메시지창이 나타나는데 왜 나타나는건가요??
확인을 누르면 디버그가 되기는 합니다...

전체 빌드도 다시하고 해당cpp를 삭제했다가 다시 생성해도 나오고요
debug, realese 폴더, ncb 파일을 삭제해도 나옵니다.
솔루션 속성 -> 공용속성 -> 소스파일디버그 -> 다음소스에서 파일을 찾지 않음 항목도
비어 있는거 확인했습니다.

이상한건 같은 cpp파일내에서도 특정한 지역에서만 브레이크포인트를 걸면 위 메시지가 나옵니다.
도대체 이유가 뭔가요?
비주얼스튜디오의 버그인가요??

minopak의 이미지

패킷 전송 측정 관련 질문

두대의 호스트 A, B가 link1으로 연결되어 있습니다.

HOST_A는 eth0로부터 받은 데이터를 eth1을 통해서 HOST_B로 전달합니다.

-----[eth0=HOST_A=eth1]-----link1------[eth0=HOST_B=eth1]-----

알아 보고 싶은 것은....
Host_A에서 전송하고자하는 데이터 전송률과 실제 link1을 통해서 전달되는 데이터 전송률을 구하고 싶습니다.

예를 들면, "HOST_A에서 eth1을 통해서 10MB로 전송하려고 하는데 실제로는 link1에서 3MB로 전송되고 있다"와 같이 말입니다.

link1에서의 전송률은 HOST_A의 eth1과 HOST_B의 eth0에서 tcpdump 와 같은 툴을 사용하면 실제로 전송되는 패킷들을 보면서 쉽게 구할수 있을 것 같은데...

HOST_A 내부에서 전송하고자하는 데이터 전송률, 즉 "몇개의 패킷을 보내려고 한다" 던지 "몇 MB/s의 속도로 보내려고 한다던지..."하는 것들을 볼수 있는지...

볼수 있다면 어떻게 봐야 하는지 궁금합니다.

raymundo의 이미지

[완료] JAVA에서 데이타 타입, 형변환, 연산자간의 관계에서, (*와 *=의 차이)

안녕하세요, 모 프로그래밍 까페에 질문글이 올라왔는데 저도 답을 모르겠고 궁금해서요.

tjswo507의 이미지

netlink socket simple code

I want to communication between user and kernel.

please,,, give me a simple code of netlilnk socket...

hados의 이미지

[완료] TCP 패킷이 늦게 도착하는 현상을 디버깅 하고 있습니다.

(일단 윈도우 환경입니다만, 네트워크 관련 내용인듯 하여 감히? 올립니다. 양해바랍니다 ^^)

24시간 돌아가는 C# 어플리케이션을 개발하여 운영중입니다.

TCP 통신으로 약 10초 ~ 몇 분 마다 한번씩 100 바이트도 채 안되는 데이터를 받아서

해당 데이터를 파싱하여 그에 따라 일을 수행하는 역할입니다. (윈도우즈7 에 닷넷 2.0 환경이며, 하드웨어 리소스는 아주 남아 돕니다.)

네트워크 구성은 기가빗으로 인터넷과 연결안된 내부망입니다. 연결된 기기도 20대 될까말까 입니다.

문제는 하루에 1~200번 정도 명령을 받아서 수행하는데, 어쩌다 한번씩

Sender 측에서 명령을 보낸지 수 초 후에 명령을 받아서 처리하는 경우가 있다는 겁니다.

이게 정확한 시간에 명령을 수행해야 하는데, socket.receive() 에서 리턴되는 시각 자체가 수 초 후이다 보니까 문제가 됩니다.

어플리케이션 자체도 그리 CPU 사용을 절대 많이 하는 것도 아니고,

fivestar의 이미지

64bit 구조체 패딩 질문 입니다.

64bit 포팅 작업을 하게 되면서

선언한 구조체들을 모두 #pragma pack(1) 처리를 하였습니다.

그럼에도 불구하고

아래와 같은 상황이 발생이 발생하는데 이유를 모르겠습니다.

ex)
공용 구조체 : struct data;
struct data *d1;

d1 = func1();

예를 들어 func1 에서 동일한 구조체 형태의 주소값을 넘겨주도로곡 되어있습니다.
그런데 func1에서 data 구조체를 return 하기 전에 주소는 0x7ffff7ea6010 인데

위의 소스에서 받는 부분에서 받고 나서 주소를 보게 되면 0xfffffffff7ea6010 입니다.

패딩과 관련되어 발생하는 문제 같은데 해당 구조체는 pragma pack(1)을 통해 정렬을 하였는데도 왜 문제가 발생하는지

아시는분은 답변 부탁드릴게요 :)

declspec의 이미지

커널영역에서의 무한루프에 대한 질문들

리눅스 2.6.x 커널에서 커널모듈의 init 함수에서 while(1); 을 하고
insmod 로 모듈을 올리면 시스템 전체가 멈춰버립니다

하지만 윈도우7 pro edition 에서 sys 파일의 DriverEntry 내에서 while(1); 을 하고 드라이버를 올리면
시스템 전체가 매우 느려지긴 하는데 아예 멈추지는 않습니다.

질문 1. 위 두 경우는 왜 차이가 날까요? 두 케이스에서 내부적으로 무슨일이 일어나는걸까요?

질문 2. 리눅스에서 insmod 로 모듈을 올린경우 init 함수는 insmod 프로세스의
context 상에서 수행되는 커널영역의 코드인데, 거기서 무한루프가 돈다고해도
왜 시스템 전체가 멈춰야 할까요? 하드웨어 타이머 인터럽트에 의해서 자동으로 스케줄 되어야하는거 아닌가요?
혹시 커널영역에 진입할때 인터럽트를 비활성화한다음 무한루프에 빠져서 그런걸까요?

korea4195의 이미지

gdb core 파일 생성 질문

안녕하세요.
gdb core 생성 관련해서 테스트를 해보는데 의문이 있어서 질문을 올립니다.

페이지

프로그래밍 QnA 구독하기