- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
I'm converting my application written in debug mode to release mode and am noticing an issue. The issue seems to be occurring in a routine that has optional arguments but no explicit interface. It works fine in debug mode but in release mode, whilst the routine is entered, it appears to crash when I do a check for the presence of one of the optional arguments (if(present(opt_arg))then.... Is this behaviour to be expected? I have attached the compiler command lines for both debug and release versions and also the routine in question. The call to this routine that causes the crash is with no optional arguments.
링크가 복사됨
23 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Thank you all for your input on this one. The penny has now dropped! I will add an explicit interface and ensure that I always do from now on! I think what I have found confusing is that there do exist out-of-standard coding practices that can get past the compiler. I only picked this one up by the process of going from debug to release mode and getting different behaviour from the resulting executable. There have been other issues with this change of mode: 1) The switch from Debug Information Format = Full to = None highlighted different behaviour as a result of a (single) undefined variable; 2) Changing the Runtime Library from = Debug to = Full lead to an issue with duplicate library definitions LIBCMT and LIBCMTD. Thanks again. ACAR.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
> The penny has now dropped! -- ???
From The Urban Dictionary:
The phrase dates back to the Victorian Era and the popular penny-slot arcades.
The penny would often stick halfway down the slot and the user would then have to either wait, or give the machine a thump before the 'penny finally dropped' and they could begin playing.
The plays between compiler options and buggy code can be as variegated and full of surprises as the plays between Wile E. Coyote and B.B. Roadrunner.
From The Urban Dictionary:
The phrase dates back to the Victorian Era and the popular penny-slot arcades.
The penny would often stick halfway down the slot and the user would then have to either wait, or give the machine a thump before the 'penny finally dropped' and they could begin playing.
The plays between compiler options and buggy code can be as variegated and full of surprises as the plays between Wile E. Coyote and B.B. Roadrunner.