마음의 안정을 찾기 위하여 - 이루지 못한 가변인자 포워딩 함수의 꿈.... -_-
2401017
34
340
관리자새글쓰기
태그위치로그방명록
별일없다의 생각
dawnsea's me2day/2010
색상(RGB)코드 추출기(Color...
Connection Generator/2010
최승호PD, '4대강 거짓말 검...
Green Monkey**/2010
Syng의 생각
syng's me2DAY/2010
천재 작곡가 윤일상이 기획,...
엘븐킹's Digital Factory/2010
이루지 못한 가변인자 포워딩 함수의 꿈.... -_-
리눅스/리눅스 프로그래밍 | 2010/05/07 09:59
가변인자를 사용하는 함수를 만들고 있다는 얘기를 저번 포스팅에서 언급한적이 있다.

가변인자와 Printf 그리고 Wrapping 함수 만들기.

사용자 Type을 추가하였고, 이를 처리하도록 작업을 완료하였는데, 좀더 욕심을 내서 가변인자를 넘겨받아 가공하고 다시 가변인자 함수로 해당 파라미터를 포워딩 시켜주는 작업을 해볼까? 라는 생각을 해봤는데...

이게 말처럼 쉽게 되지가 않아서 이틀째 머리를 굴리고 있는데......

뭐랄까... 해당 부분에 대해서 한바탕 토론이 이뤄졌던 포스팅을 발견하고... 그냥 쉽게 단념해버렸다.
음.... 누구 말대로 울고 싶은데 뺨때려준 격이랄까?

벽에 부딪히고 있었는데.... 뭐 그다지 효율성이 없다는 글을 보니... 그냥 갑자기 의욕이 확 상실되버리는.....

문제(?)의 토론글 보러 가기 : 가변인자를 다른 함수로 넘길 수 있을까요?

아웅..... 이제 다시 뭘 파고드나... 쩝~~~

가변인자를 포워딩 하는 내용에 대해서 월간지 마이크로소프트에 기고한 내용이 있더라는..

괴짜 프로그래머의 일상사 : 가변인자 포워딩 시키기
가변인자 처리 매크로 사용 정보 : va_arg, va_end, va_start

2010/05/07 09:59 2010/05/07 09:59
Article tag list Go to top
View Comment 4
Trackback URL :: 이 글에는 트랙백을 보낼 수 없습니다
From. 구차니 2010/05/07 10:30
답글달기삭제
그냥 #define print_forward(x) printf(x)

이렇게 가변인자 통째로 넘겨주면 안되려나요? ^^;
From. 그리움 2010/05/07 12:05
삭제
FuncOrg(char *format, ...)
{
// 출력 처리
}

FuncPass(char *format, ...)
{
// FuncOrg로 Pass
}

int main(int argc, char **argv)
{
FuncPass("%s", "Hello World!");
}

저런걸 하고 싶은거죠 -,.-;

"..." 요걸 넘겨줘야되는데.....
va_start / va_arg / va_end를 이용해서 일일이 전달 파라미터 갯수 Type 파악해서 해주면 되는데.... 효율성이 그다지 크지 않다는.... 말을 듣고 손쉽게 단념을 한거죠 ㅋ
From. 구차니 2010/05/07 12:18
답글달기삭제
어짜피 argument로 넘기는건 타입을 알수 없지 않나요?
그래서 printf에서도 %s나 %c 이런식으로 구분자를 이용해서 타입 캐스팅을 할텐데 말이죠.

strict하게 type check할 필요가 없다면 그냥 대충~ (뻗으면 하늘 탓으로 ㅋㅋㅋ)
From. 그리움 2010/05/08 21:55
삭제
제가 구현하는것도 printf를 대체하는 함수인데요.

Format String을 분석해서 해당 가변인자의 갯수와 Type을 알아내는 형식을 취하고 있죠.

printf를 대체하는 함수로 "print"라고 만들어서 사용하고 있는데, 이 print를 직접 호출하는 경우도 있고, 간접적으로 한단계 거쳐서 호출하는 경우도 있는데 이경우 가변인자를 받은것으로 다시 print로 그대로 넘겨줘야 하는데, 이게 좀 까다롭더라구요.

그래서 그냥 현재는 포기(?)하고, 다른 부분 손대고 있어요. ㅎ
PREV : [1] : NEXT
 
 
 
 
: [1] ... [267][268][269][270][271][272][273][274][275] ... [1323] :
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
전체 (1323)
출판 준비 (0)
My-Pro... (41)
사는 ... (933)
블로그... (22)
My Lib... (32)
게임 ... (23)
개발관... (3)
Smart ... (1)
Delphi (93)
C Builder (0)
Object... (0)
VC, MF... (10)
Window... (1)
Open API (3)
Visual... (0)
Java, JSP (2)
ASP.NET (0)
PHP (6)
Database (12)
리눅스 (29)
Windows (25)
Device... (1)
Embedded (1)
게임 ... (0)
Web Se... (2)
Web, S... (21)
잡다한... (7)
프로젝트 (0)
Personal (0)
대통령... (13)
Link (2)