Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[9730] Re:인라인 함수(?)의 재귀호출.... 에러가 안날까... ???
김준엽 [corba] 1706 읽음    2004-07-14 10:37
C++ 인라인 함수는 매크로 처럼 함수가 호출되는 곳 마다 바로 구현부를 끼워넣는다고 들었습니다.

그러니 당연히 스택을 쓸 필요가 없겠지요.

하지만 자기를 다시 부르는 경우 인라인이 제대로 동작할 리가 만무합니다.

호출 되는 곳 마다 구현부를 끼워넣으면 무한대의 코드가 되겠죠 ?

물론 컴파일러가 자동으로 인라인 아닌걸로 만들던지 해서 알아서 조치를 취해주겠지만...

결과적으로 델파이서 그렇게 했을 때 결과를 장담을 못드리겠군요.

얻는 이점은 분명히 하나도 없을 것이고...

인라인 쓰신다고 생각만큼 빨라지지 않습니다. 비대화 현상으로 오히려 더 느려지는 경우도 있어요.

개인적으론 비대화 현상 때문에 5줄이 넘어가는 함수엔 인라인을 쓰지 않습니다.

다시 한 번 생각해보세요.




어떤게좋을까요? 님이 쓰신 글 :
:
:
: 델파이 5로 프로그램을 작성할 시절에 함수안의 함수( = 인라인 함수? )를 재귀호출
: 하면 어떤때는 잘 동작하지만, 때때로 오브젝트 참조등의 좀 복잡한 동작을 시키면
: 엑서스 바이어레이션을 일으켰던 걸로 기억합니다.
:
: 물론 에러나는 코드를 인라인 함수의 재귀호출이 아니고, 멤버 메서드나 일반함수의
: 재귀 호출로 바꾸어 놓으면 에러가 나지 않았구요.
:
: 그런데 지금은 델파이 7을 사용하고 있는데, 여기에서 좀 복잡한 파서를 하나 만들고
: 있습니다.
:
: 아무래도, 인라인 함수의 재귀호출이 중요하게 사용되야 할것 같습니다. 델파이 7에서
: 인라인 함수의 재귀호출이 안전한지에 대한 정보를 찾기가 쉽지 않은데... 혹시라도
: 델파이 7에서 인라인 함수의 재귀호출을 구현하고, 또 돌리고 있는 분들의 경험담을
: 좀 듣고 싶습니다.
:
: c++의 인라인 함수의 경우, 그 함수가 빨리 동작할 수 있는 이유는 표준 c++ 함수 호출
: 규약을 따르지 않고, 스택초기화 등등의 작업을 하지 않아서라고 알고 있습니다. 그러면
: 델파이의 인라인 함수의 경우는 어떤지... 도 궁금하군요.
:
: 고수분들의 고견을 부탁 드립니다.
:
:
:

+ -

관련 글 리스트
9713 인라인 함수(?)의 재귀호출.... 에러가 안날까... ??? 어떤게좋을까요? 1978 2004/07/08
9737     두분 모두 감사 감사... ^.^ 어떤게좋을까요? 898 2004/07/14
9733     Re:Nested 함수라고 합니다. 박지훈.임프 1628 2004/07/14
9730     Re:인라인 함수(?)의 재귀호출.... 에러가 안날까... ??? 김준엽 1706 2004/07/14
9731         음... c++의 인라인과 OPascal의 인라인(?)을 동일시 하는듯 합니다. 어떤게좋을까요? 996 2004/07/14
9735             Re:제가 착각을 한듯 하군요 ^-^ 김준엽 889 2004/07/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.