From: Charles Sandmann Newsgroups: comp.os.msdos.djgpp Subject: Re: About DJGPP_V204 for Win2k Date: Thu, 22 Aug 2002 21:04:33 CDT Organization: Rice University, Houston TX Lines: 79 Message-ID: <3d659831.sandmann@clio.rice.edu> References: NNTP-Posting-Host: clio.rice.edu X-Trace: joe.rice.edu 1030069679 18061 128.42.105.3 (23 Aug 2002 02:27:59 GMT) X-Complaints-To: abuse AT rice DOT edu NNTP-Posting-Date: 23 Aug 2002 02:27:59 GMT X-NewsEditor: ED-1.5.9 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com > I installed DJGPP_V204 in Win2K environment according > http://clio.rice.edu/djgpp/win2k/main_204.htm > In the above "main_204.htm", after GCC 3.1 section, > you mentioned as > "The GCC 3.04 from Simtel has been built with the updated LIBC 2.03 that > suport with Win 2k. & XP." > Q1. Is it need for my environment > (Win2k Command_Prompt + DJGPP_V204 + GCC3.1) You should be able to use any GCC version with binaries dated after December 2001. The refreshed V2.03 works OK on Win2K, as does the V2.04 CVS work in progress. You don't need to get 3.04 if you have GCC 3.1. > Q2. Is the GCC3.1 include the LIBC 2.03 or later ? The libc is included in djdev20*.zip - so if you downloaded the CVS test 2.04 version that is what you are using. You can mix the GCC compiler and libc versions, but it's not recommended. You should probably stick to downloads from the same source or you may have incompatibilities (in symlinks, for example). > Q3. How to check the LIBC Version with using gcc command. > (I can not figureout the LIBC version by gcc -v command) There is an ident string in lib\libc.a which includes something like "DJGPP libc built Dec 24 2001 21:24:39 by gcc 2.8.1" - this is the string for the V2.03 refresh. Earlier versions are probably 2.03 without a refresh (bad news for Win2k) - Newer versions are probably 2.04. Depending on the tools you may have installed - on Win2K you can just use the command: C:\djgpp\lib>find "built" libc.a ---------- LIBC.A $Id: DJGPP libc built Dec 24 2001 21:24:39 by gcc 2.8.1 $ @(#) DJGPP libc built Dec 24 2001 21:24:39 by gcc 2.8.1 $ To find your information (on Win9x versions you will have to have ident or strings installed). > About environment to run my program that compiled by DJGPP_V204. > Q4. Is the DJGPP_V204 for only Win2k,XP(DOS-BOX)? No, it works fine on any version (or so we hope). It's a work in progress, not fully tested, and the features may change. > Q5. Is the DJGPP_V204 can use in Win98(DOS-BOX)? Yes, it seems to work fine. > Q6. Is a program( thst is compiled in the Win2K + DJGPP_V204) > can run in Win98(DOS-BOX) and MS-DOS(6.2)? Yes. > Q7. Usually I use go32-v2 before use DJGPP_V203 tools, > and a my_program comiled by DJGPP_tool can run normally. > At the end of "gcc -v foo.c", compiler(linker?) showes > "stubify.exe -v foo.exe" > Is that program can run another PC without DJGPP_Environment? foo.exe can run on another PC without the DJGPP tools, if DPMI is present. On a Windows system, nothing else is needed (just foo.exe) - but under DOS you would also need to copy CWSDPMI.EXE to the other system, or re-stub the image with CWSDSTUB.EXE (read FAQ on stubs, and CWSDPMI.DOC on directions). > I am not surre about relationship how DPMI related and worked > to DJGPP_tools and a program(foo.exe) compiled by DJGPP_tool. > I hope someone add this thema to the faq203. DPMI is a standard API provided by Windows, OS/2 and other virtual DOS environments which allow a DOS program to switch from 16-bit mode to 32-bit mode and communicate with DOS and the BIOS. The stub is a 16-bit program which calls DPMI and loads the 32-bit DJGPP image into memory. The stub has everything it needs to do the job on Windows, but pure DOS doesn't provide DPMI, so the stub looks for a helper - and loads CWSDPMI to provide these services (this can actually be changed, and other DPMI providers are available).