프로그래밍 QnA

novedad의 이미지

thread에서 사용하는 변수들은 스택에 올라가나요?

thread를 공부중입니다.

예를들어 thread를 아래와 같이 만들었다고 하면,

struct tmp_space
{
	int a, b;
}

void * thread_tmp(void *arg)
{
	struct tmp_space space = {100, 200};

	pthread_exit((void *)&space);
}

이 thread가 pthread_exit을 호출해서 종료될 때 space를 반환하니 아래와 같이 다른 thread에서 pthread_join호출하면 space의 값을 읽을 수 있을 거 같지만,

[code:1]
tmp_space *tret;

pthread_join ( tid_tmp, (void *)&tret);

wslee의 이미지

float형 변수의 저장방법에 대한 궁금증

float형 변수가 바이너리로 저장될때

맨앞 bit가 음수 양수 부호
다음 7개 bit가 지수
그 아래가 가수
이렇다고 할시에,

2진수로
00000000000000000.....
은 0을 뜻합니다.

그렇다면
100000000000000000....
도 0을 의미 하는건가요??

swunk의 이미지

arp table 검색 관련 질문 입니다.

시스템에 있는 arp table 값을 가져오고자 합니다.

ioctl() 함수에 cmd 값으로 SIOCGARP 를 주면 arp table이 넘어 오는 줄 알고 있었는데..그게 아니네요?...

iocctl()로 SIOCGARP를 인자로 넣어 주고 마지막 인자인 arpreq에 ip 주소를 넣어주면 해당 ip 주소에 맞는 arp 엔트리만 가져 오더군요...

여튼 각설하고
시스템에 있는 arp table값을 가져오려면 어떻게 해야 하나요 ?
예를 들면 arp -a 하면 arp 테이블 값을 가져오는 것 처럼요...
혹시 arp 유틸리티 소스를 구할 수 있을까요 ?

pukiki의 이미지

컴파일시 'errno' 때문에 에러..

글쓴이: 초보 글쓴날: 2006-02-08 20:52:02 읽은수: 1 <+>
dns.a(dns_transmit.o)(.text+0x4e0): In function `thistcp':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x58b): In function `dns_transmit_start':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x721): In function `dns_transmit_get':
: undefined reference to `errno'
dns.a(dns_transmit.o)(.text+0x80b): In function `dns_transmit_get':
: undefined reference to `errno'
dns.a(dns_dfd.o)(.text+0x24): In function `dns_domain_fromdot':
: undefined reference to `errno'
unix.a(alloc.o)(.text+0x48): more undefined references to `errno' follo

swunk의 이미지

ioctl 관련 질문입니다.

UNP 책에 나온 소스 입니다.
하나의 시스템에 할당된 ip 주소를 가지고 이에 해당 하는 mac 주소를 프린트하는 소스 코드 입니다.
ioctl을 사용하고 cmd로 SIOCGARP를 사용합니다.
그런데 아래와 같이 mac 주소가 출력이 안되네요...
뭐가 문젤까요 ?

127.0.0.1: ioctl SIOCGARP: No such device
130.154.16.209: ioctl SIOCGARP: No such device
10.1.1.1: ioctl SIOCGARP: No such device
10.4.1.1: ioctl SIOCGARP: No such device

소스 코드는 아래와 같습니다.
참고로 get_ifi_info() 함수는 시스템에 network interface 정보를 가져 오는 함수입니다.

novedad의 이미지

이코드는... 캐스팅인가요?

아래와 같은 코드를 보았습니다. UNIX책에 있는 내용인데요.

makethread(void *(*fn)(void *), void *arg)
{
    ...
}

첫번째 인자가 어떤 상황인지 이해가 안가네요. --;

제가 공부를 좀 덜하긴 했지마는, 첫번째 인자처럼 뒤에 (void *) 식으로 붙는건 어떤 의미인지요?

또 void *(*fn) 로 된 부분도 포인터의 포인터인지, 다르게 보아야하는 것인지 모르겠습니다.

확실한 내공 부족인데요. 도움 부탁드립니다.

명쾌하고

mr.lee의 이미지

telnet command 처리할 C/C++ 라이버러리는?

라우터에 telnet 접속하여 command날리고 결과 받는 부분이 필요한데요. (NMS) 마땅한 C/C++라이버러리가 잘 없어서 찾아보니 jakarta commons 의 net api 가 매우 적합하였습니다.

헌데, 이 모듈이 또한 다른 C/C++ 데몬과 message queue로 IPC해야하기땜에 결국 자바를 이용하면 JNI를 쓰야하는데, 검토를 해보니 충분히 가능은 합니다만.. 주고받는 데이터가 복잡한 다중 struct구조들이 많은데 이것들을 JNI로 할려니 너무 비효율적인것 같네요. 객체를 그냥 받아서 큐에 밀어넣어도 된다면야 더할나위 없겠지만 struct align, byte ordering, primitive/object type size 등등 때문에 결국 JNI에서 다시 struct를 구성해서 밀어넣어야 하고..굳이 한다면 JNI 메소드자체를 각 멤버를 인자만 받아서 여기서 구조체를 완성시키는 식으로하면 그나마 나아보이지만.. 그래도 깔끔하지 못한것은 마찬가지로 보이구요..

망치의 이미지

에러 발생. PHP Parse error: parse error, unexpected $ in ...php

PHP Parse error: parse error, unexpected $ in /home/***/lib.php on line 865,

이런 에러가 발생합니다. 에러 발생 부분은

860	// E-mail 의 MX를 검색하여 실제 존재하는 메일인지 검사
861	function mail_mx_check($email) {
862		if(!ismail($email)) return false;
863		list($user, $host) = explode("@", $email);
864		if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) return true;
865		else return false;
866	}

제로보드의 lib.php 에서 발생하는 에러인데..

sensui의 이미지

클래스 구현 시 Inheritance와 Composition의 차이점이 이해가 안됩니다.

재사용할 가능성의 유무에 의해서 선택해서 사용하게 된다라고 하는데.

적절한 예가 떠오르지가 않습니다...

좋은 예시 있으면 하나만 들어주세요..

마치 strategy패턴 비스무리한 것같기도 한데..

swunk의 이미지

네트워크 관련 2가지 질문 입니다.

(1) 하나의 서브넷에서 특정 단말이 해당 서브넷에 접속되어 있는 모든 단말들에 대해서 arp 테이블을 최신의 상태로 유지하고자 합니다.
지금 생각으로는 주기적으로 서브넷 내에 브로드캐스트 메시지를 뿌리면 서브넷 내의 모든 단말들이 응답을 할것이고 이로 인해 최신의 arp 테이블이 유지가 될것이라고 생각하고 있습니다. 이 방법이 틀렸거나 혹은 다른 좋은 방법이 있으면 알려 주세요...

(2) 같은 서브넷 내에 있는 또다른 단말의 mac 주소만 알고 있는 경우 이 mac 주소를 가지고 해당 단말의 ip 주소로 매핑 하는 방법이 있을까요 ?

페이지

프로그래밍 QnA 구독하기