Message-ID: <37DF9250.4F2C03C6@this.newsgroup> From: Tony Welsh X-Mailer: Mozilla 4.61 [en]C-NECCK (Win98; I) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.os.msdos.djgpp Subject: Re: HELP! "invalid page exception"?? References: <37D534CD DOT 9FE72805 AT this DOT newsgroup> <37D6B63A DOT 68278B19 AT this DOT newsgroup> <37D7B0BD DOT DE998100 AT this DOT newsgroup> Content-Type: multipart/mixed; boundary="------------BECD2D5365F51B26824DA2E7" Lines: 138 Date: Wed, 15 Sep 1999 13:34:24 +0100 NNTP-Posting-Host: 195.44.20.58 X-Trace: news2-hme0 937399240 195.44.20.58 (Wed, 15 Sep 1999 13:40:40 BST) NNTP-Posting-Date: Wed, 15 Sep 1999 13:40:40 BST To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com This is a multi-part message in MIME format. --------------BECD2D5365F51B26824DA2E7 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Eli Zaretskii wrote: > On Thu, 9 Sep 1999, Tony Welsh wrote: > > > My only thought is the last command line - is the last backslash the problem > > as the rest are UNIX style (on MSDOS?) . > > No, DJGPP handles both forward and backslashes alike. > > > C:\djgpp\src>gcc -c -v chap01_1.c > > Reading specs from c:/djgpp/lib/specs > > gcc version 2.95 19990728 (release) > > c:/djgpp/lib/gcc-lib/djgpp/2.95/cpp.exe -lang-c -v -isystem > > c:/djgpp/bin/include -D__GNUC__=2 -D__GNUC_MINOR__=95 -Dunix -Di386 -DGO32 > > -DMSDOS -DDJGPP=2 -DDJGPP_MINOR=2 -D__unix__ -D__i386__ -D__GO32__ -D__MSDOS__ > > -D__DJGPP__=2 -D__DJGPP_MINOR__=2 -D__unix -D_i386 -D__GO32 -D__MSDOS > > -D__DJGPP=2 -D__DJGPP_MINOR=2 chap01_1.c c:/djgpp/tmp\ccnTHF0i.i > > This indicates that the program which crashes is cpp.exe. Is that what Windows > says in the message that it pops up? No, its a DOS problem, so it only tells you about the DOS fault, only windows application faults tell you about the item that caused the problem. > Do you see the temporary file (c:/djgpp/tmp\ccnTHF0i.i in this case) on disk after > the crash? Yes, and it is blank, size 0 bytes. > Please invoke the preprocessor manually, like shown below, and see if it works: > > c:\djgpp\lib\gcc-lib\djgpp\2.95\cpp -lang-c -isystem c:/djgpp/bin/include > chap01_1.c c:/djgpp/tmp\ccnTHF0i.i > > Note: this is all one long line! C:\djgpp>c:\djgpp\lib\gcc-lib\djgpp\2.95\cpp -lang-c -isystem C:/djgpp/include C:/djgpp/src/chap01_1.c c:/djgpp/tmp\ccnTHF0i.i (the previous file) C:\djgpp\src>c:\djgpp\lib\gcc-lib\djgpp\2.95\cpp -lang-c -isystem C:/djgpp/include chap01_1.c c:/djgpp/tmp\cc3CiKyf.i (a file from this morning that crashed as normal with an option 'c') both execute without errors or for that matter any error messages, it just returns to the prompt after execution. I notice that after these are executed, the temporary file mentioned is filled with what looks like the original source code but without any non-executable lines... (see cc3CiKyf.i and chap01_1.c attached). Which is I assume preprocessing - which is a start - now all I need to know is what's wrong. > Please also try this command and tell what it produces: > > go32-v2 c:/djgpp/bin/gcc.exe -v C:\djgpp>go32-v2 c:/djgpp/bin/gcc.exe -v Reading specs from c:/djgpp/lib/specs gcc version 2.95 19990728 (release) > > I wouldn't think that a virus scanner would interfere with a > > compile, I could understand if the program was running and doing > > some low level commands and then it fails, but not a compile. > > Antivirus sits on the Windows program invocation chain and checks every program > that is invoked. So it could interfere with program invocation, especially since > DJGPP programs are not real-mode DOS executables. -- Best Regards - Tony - "Mine's a black coffee, with two sugars and milk..." - Dexter's Lab --------------BECD2D5365F51B26824DA2E7 Content-Type: text/plain; charset=us-ascii; name="cc3CiKyf.i" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cc3CiKyf.i" # 1 "chap01_1.c" void fn(void) { int autoVar; static int staticVar = 0; autoVar = 10; staticVar = 20; } int main() { fn(); fn(); return 0; } --------------BECD2D5365F51B26824DA2E7 Content-Type: text/plain; charset=us-ascii; name="Chap01_1.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="Chap01_1.c" //Chap01_1.c void fn(void) { int autoVar; /*autoVar starts life here*/ static int staticVar = 0; /*value first time fn() is called*/ autoVar = 10; staticVar = 20; } /*autoVar ends life here*/ int main() { fn(); fn(); return 0; } --------------BECD2D5365F51B26824DA2E7--