요즘 팔자에도 없었던 Unix C 프로그램을 하는데..
오늘은 IPC랑 소켓 관련된 프로그램을 만졌는데..
소스중에..
void main()
{
...
while(1) {
socket_fd = recv_fd( STDOUT_FILENO, write); <= 이해를 못하겠음
}
}
int recv_fd( int servfd, ssize_t(*userfunc)(int, const void*, size_t) )
{
...
if ( (*userfunc)(STDERR_FILENO, buf, nread) != nread ) {
return(-1);
}
}
이런 부분이 있어서 3시간 정도 고민을 했더니만..
이게.. 함수 포인터 -_-; 맞다 이런 거 있었지..
끊었던 담배를 다시 피기 시작했음. .ㅠ.ㅠ
..............................................................................................................................................................................................................
아 씨바, 할 말을 잊었습니다.
이래서 c 언어는 두세달에 한두번쯤은 짜줘야 함 .
음, 함수형 언어나 파이썬 같은 거 한번 배워보시는걸 추천함 =3
저딴 코드를 보면 꼭 저따구로 짜야하나 하는 생각이 듬
뻥셔널 프로그래밍의 요소를 가져다 쓰는게 저따구라고 할만큼 지저분한거 였냐능 ;;;
헐 함수포인터 넘길수 있는거 엄청 강력한 기능임. 이거없음 콜백은?
콜백은 다 저딴식이지 뭐