www.digitalmars.com         C & C++   DMDScript  

c++.dos.32-bits - dmc and Pharlap

reply "Gisle Vanem" <giva users.sourceforge.net> writes:
I'm trying to build a Pharlap version of a program, but dmc fails to find
my 386link program. Even though it is on my PATH.

   dmc ident.c ..\lib\wattcpdf.lib x32.lib dosx32.lib  MAKE0000.   

386link ident -tc -l e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32 d:\phar
70\lib\dosx32 exc_dmc e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32 d:\pha
r70\lib\dosx32 exc_dmc d:\prog\dmc\lib\sdx

Can't run '386link', check PATH

path

osx\bin;c:\util;c:\util\zip;f:\windows\system32;e:\net\watt\bin;d:\phar70\bin;c:\4dos; e:\net\ppp;c:\util\norton 386link is in d:\phar70\bin. Is it a problem with the long 386link cmd-line? If so, how can I make dmc put that in a response file? dmc 8.34.12, Pharlap 7.0 SDK -- Gisle V. # rm /bin/laden /bin/laden: Not found
Jul 07 2003
next sibling parent reply Jan Knepper <jan smartsoft.us> writes:
Why do you want to use Pharlap?
I have used Pharlap, DOS4GW and DOSX as it came with Zortech/Symantec and now
Digital Mars
C++ and found DOSX to be the clear winner. Unless you have specific reasons for
using
Pharlap, you might be better of using DOSX.



Gisle Vanem wrote:

 I'm trying to build a Pharlap version of a program, but dmc fails to find
 my 386link program. Even though it is on my PATH.

    dmc ident.c ..\lib\wattcpdf.lib x32.lib dosx32.lib  MAKE0000.   

 386link ident -tc -l e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32
d:\phar
 70\lib\dosx32 exc_dmc e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32
d:\pha
 r70\lib\dosx32 exc_dmc d:\prog\dmc\lib\sdx

 Can't run '386link', check PATH

path

osx\bin;c:\util;c:\util\zip;f:\windows\system32;e:\net\watt\bin;d:\phar70\bin;c:\4dos; e:\net\ppp;c:\util\norton 386link is in d:\phar70\bin. Is it a problem with the long 386link cmd-line? If so, how can I make dmc put that in a response file? dmc 8.34.12, Pharlap 7.0 SDK -- Gisle V. # rm /bin/laden /bin/laden: Not found

-- ManiaC++ Jan Knepper
Jul 07 2003
parent reply "Gisle Vanem" <giva users.sourceforge.net> writes:
"Jan Knepper" <jan smartsoft.us> wrote:

 Why do you want to use Pharlap?
 I have used Pharlap, DOS4GW and DOSX as it came with Zortech/Symantec and now
Digital Mars
 C++ and found DOSX to be the clear winner. Unless you have specific reasons
for using
 Pharlap, you might be better of using DOSX.

I assume you mean Flashtek's X32 when you say DOSX. Why Pharlap? Because it's far superiour to Flashtek and DOS4GW. Only djgpp/CWSDPMI is better IMHO. --gv
Jul 07 2003
next sibling parent reply "Gisle Vanem" <giva users.sourceforge.net> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote:

 I assume you mean Flashtek's X32 when you say DOSX.
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Flashtek is a pile of crap. It fails to run a simple "Hello world" program under Win-XP DOS-box.
dmc -v2 -mx hello.c x32.lib

Digital Mars C/C++ Compiler Version 8.34.12n Copyright (C) Digital Mars 2000-2003. All Rights Reserved. Written by Walter Bright www.digitalmars.com 'hello.c' 'D:\PROG\DMC\BIN\..\include\stdio.h' 'D:\PROG\DMC\BIN\..\include\stdlib.h' 'D:\PROG\DMC\BIN\..\include\heapstat.h' 'D:\PROG\DMC\BIN\..\include\dos.h' main C/C++ Compiler complete. Code: 0x0015 (21) Data: 0x0017 (23) Time: 0.32 seconds link d:\prog\dmc\lib\cx+hello,hello,,x32/noi;
 hello.exe causes a trap in NTVDM:

OP: ff ff 00 00 00 --gv
Jul 07 2003
next sibling parent reply Jan Knepper <jan smartsoft.us> writes:
Gisle Vanem wrote:

 I assume you mean Flashtek's X32 when you say DOSX.
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Flashtek is a pile of crap. It fails to run a simple "Hello world" program under Win-XP DOS-box.

That might or might not have anything to do with Flashtek. Why would you want to run a 32 bits DOS application in a Windows XP command line anyways??? I run DOS 32 bits on DOS and Win 32 bits console from a command line.
dmc -v2 -mx hello.c x32.lib

Digital Mars C/C++ Compiler Version 8.34.12n Copyright (C) Digital Mars 2000-2003. All Rights Reserved. Written by Walter Bright www.digitalmars.com 'hello.c' 'D:\PROG\DMC\BIN\..\include\stdio.h' 'D:\PROG\DMC\BIN\..\include\stdlib.h' 'D:\PROG\DMC\BIN\..\include\heapstat.h' 'D:\PROG\DMC\BIN\..\include\dos.h' main C/C++ Compiler complete. Code: 0x0015 (21) Data: 0x0017 (23) Time: 0.32 seconds link d:\prog\dmc\lib\cx+hello,hello,,x32/noi;
 hello.exe causes a trap in NTVDM:

OP: ff ff 00 00 00

Have you tried the version on www.dosextender.com -- ManiaC++ Jan Knepper
Jul 07 2003
parent reply "Gisle Vanem" <giva users.sourceforge.net> writes:
"Jan Knepper" <jan smartsoft.us> wrote:

 That might or might not have anything to do with Flashtek.
 Why would you want to run a 32 bits DOS application in a Windows XP command
line
 anyways???
 I run DOS 32 bits on DOS and Win 32 bits console from a command line.

Why do you answer a question with an unrelated question? I expect the same exe to run under Win-XP and plain DOS. Why keep 2 exes for the same job? If that's impossible with Flashtek, please say so.
 Have you tried the version on www.dosextender.com

Do you mean the "*NEW VERSION* Updated May 15, 2001" ? Yes I do; is there a newer version? --gv
Jul 07 2003
next sibling parent Jan Knepper <jan smartsoft.us> writes:
Gisle Vanem wrote:

 "Jan Knepper" <jan smartsoft.us> wrote:

 That might or might not have anything to do with Flashtek.
 Why would you want to run a 32 bits DOS application in a Windows XP command
line
 anyways???
 I run DOS 32 bits on DOS and Win 32 bits console from a command line.

Why do you answer a question with an unrelated question?

Oh, is it unrelated? I would not perfer to run a Formula-1 race car on a dirt road...
 I expect the same exe to run under Win-XP and plain DOS. Why keep
 2 exes for the same job? If that's impossible with Flashtek, please
 say so.

I do not know if that is possible with DOSX or not. I have used it up to W2K's command line where it didn't seem to be a problem. I have not actively used ANY dos extender in development for the last 3/4 years. There is no reason to explain the benefits of running a native executable. What you can do is write a WINSTUB.exe that executes <program>X.exe (DOSX version) when you are NOT running on Win32 and run the native Win32 when you are...
 Have you tried the version on www.dosextender.com

Yes I do; is there a newer version?

Not that I am aware off. -- ManiaC++ Jan Knepper
Jul 07 2003
prev sibling next sibling parent reply "Walter" <walter digitalmars.com> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:becc58$rsq$1 digitaldaemon.com...
 I expect the same exe to run under Win-XP and plain DOS. Why keep
 2 exes for the same job? If that's impossible with Flashtek, please
 say so.

What I've done for years is make a dual executable. I.e. build the DOSX version, and then make that the 'stub executable' for the win32 version. That way, if running under dos, the DOSX version runs. If running under Win32, the Win32 version runs. The two executables are bound into one .exe file. I found running DOS programs to be unsuitable under Win32, because: 1) DOS programs can't handle long file names. 2) DOS date/time has too coarse a granularity. 3) Win32 does not pass the environment correctly when a DOS program spawns a Win32 program and vice versa. 4) Problems with long command lines (as you've pointed out!). With a dual executable, these problems go away.
Jul 07 2003
parent reply "Gisle Vanem" <giva users.sourceforge.net> writes:
"Walter" <walter digitalmars.com> wrote:

 What I've done for years is make a dual executable. I.e. build the DOSX
 version, and then make that the 'stub executable' for the win32 version.
 That way, if running under dos, the DOSX version runs. If running under
 Win32, the Win32 version runs. The two executables are bound into one .exe
 file.

Is that what you did for dmc.exe? If so this method have problems with 4DOS shells. For every spawning of 386link, one instance of dmc.exe is left running in the TaskManager. With COMMAND.COM it's okay. Are you checking the %COMSPEC% value? --gv
Jul 07 2003
parent "Walter" <walter digitalmars.com> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:bednha$255s$1 digitaldaemon.com...
 "Walter" <walter digitalmars.com> wrote:
 What I've done for years is make a dual executable. I.e. build the DOSX
 version, and then make that the 'stub executable' for the win32 version.
 That way, if running under dos, the DOSX version runs. If running under
 Win32, the Win32 version runs. The two executables are bound into one


 file.

with 4DOS shells. For every spawning of 386link, one instance of dmc.exe is left running in the TaskManager. With COMMAND.COM it's okay. Are you checking the %COMSPEC% value?

Not anymore. dmc.exe is now a win32 only program.
Jul 08 2003
prev sibling parent roland <--rv ronetech.com> writes:
Gisle Vanem wrote:
	.
	.

 Do you mean the "*NEW VERSION* Updated May 15, 2001" ?
 Yes I do; is there a newer version?
 
 --gv
 

The version can change. the date don't.. I personaly Re download it once a year. If i could help i might help and after say about the same as Jan. As i can't help i just say about the same as Jan. ciao roland
Jul 08 2003
prev sibling next sibling parent "Walter" <walter digitalmars.com> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:bec5me$lql$1 digitaldaemon.com...
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

under Win-XP DOS-box.

Flashtek works on DOS, and all windows versions except XP, where Microsoft apparently broke the interface to DPMI. Other than not working under XP, Flashtek is (in my experience) far better than other DOS extenders, primarilly because it is an order of magnitude smaller.
Jul 07 2003
prev sibling parent reply "Nic Tiger" <tiger7 progtech.ru> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:bec5me$lql$1 digitaldaemon.com...
 "Gisle Vanem" <giva users.sourceforge.net> wrote:

 I assume you mean Flashtek's X32 when you say DOSX.
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Flashtek is a pile of crap. It fails to run a simple "Hello world" program under Win-XP DOS-box.

I consider WinXP a huge pile of crap. If it doesn't support advanced technique (which previous versions of M$ Windows supported, by the way) it doesn't mean that any software that uses this technique is crap. DOSX is fastest and smallest dos extender. I've used it for 4 years (till now) for several huge military class software systems, and I have never had ANY fault related to DOSX. Nic Tiger.
Jul 08 2003
next sibling parent roland <--rv ronetech.com> writes:
Nic Tiger wrote:

 DOSX is fastest and smallest dos extender. I've used it for 4 years (till
 now) for several huge military class software systems, and I have never had
 ANY fault related to DOSX.
 

we used DOSX for real time embeded machine tools driving up to 5 axis. same: NEVER had ANY problem due to DOSX. roland
Jul 09 2003
prev sibling next sibling parent reply "Gisle Vanem" <giva users.sourceforge.net> writes:
"Nic Tiger" <tiger7 progtech.ru> wrote:

 DOSX is fastest and smallest dos extender. I've used it for 4 years (till
 now) for several huge military class software systems, and I have never had
 ANY fault related to DOSX.

Small size is no longer a bonus IMHO. It tells me it was probably written in asm and with limited features or runtime checks. Does your X32 programs run i anything but plain DOS? OS/2, Win32, dosemu DOS-boxes? --gv
Jul 09 2003
parent reply "Walter" <walter digitalmars.com> writes:
"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:behc9i$2k04$1 digitaldaemon.com...
 "Nic Tiger" <tiger7 progtech.ru> wrote:
 DOSX is fastest and smallest dos extender. I've used it for 4 years


 now) for several huge military class software systems, and I have never


 ANY fault related to DOSX.

written in asm and with limited features or runtime checks.

It was written in asm, and it is full featured.
 Does your X32 programs run i anything but plain DOS?

Yes, it runs under all Win32 versions except XP, when Microsoft broke DPMI support.
 OS/2, Win32, dosemu DOS-boxes?

It should. I haven't powered up my OS/2 box in over a decade <g>.
Jul 09 2003
parent "Nic Tiger" <tiger7 progtech.ru> writes:
It works fine on OS/2. I used it for 1/2 year and I liked the way OS/2
implemented DPMI. Problems with my new video card drivers prevented me from
using OS/2 further.

Also I tried DOSX on Linux' dos-emu. It works, but my specific program
didn't work because of lack of VESA BIOS support.

Nic Tiger.

"Walter" <walter digitalmars.com> wrote in message
news:behdn0$2ldk$1 digitaldaemon.com...
 "Gisle Vanem" <giva users.sourceforge.net> wrote in message
 news:behc9i$2k04$1 digitaldaemon.com...
 "Nic Tiger" <tiger7 progtech.ru> wrote:
 DOSX is fastest and smallest dos extender. I've used it for 4 years


 now) for several huge military class software systems, and I have



 had
 ANY fault related to DOSX.

written in asm and with limited features or runtime checks.

It was written in asm, and it is full featured.
 Does your X32 programs run i anything but plain DOS?

Yes, it runs under all Win32 versions except XP, when Microsoft broke DPMI support.
 OS/2, Win32, dosemu DOS-boxes?

It should. I haven't powered up my OS/2 box in over a decade <g>.

Jul 09 2003
prev sibling parent "Javier Gutiérrez" <nikkho NOSPAM hotmail.com> writes:
"Nic Tiger" <tiger7 progtech.ru> escribió en el mensaje
news:bef0q9$bt3$1 digitaldaemon.com...
 "Gisle Vanem" <giva users.sourceforge.net> wrote in message
 news:bec5me$lql$1 digitaldaemon.com...
 "Gisle Vanem" <giva users.sourceforge.net> wrote:

 I assume you mean Flashtek's X32 when you say DOSX.
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Flashtek is a pile of crap. It fails to run a simple "Hello world"


 under Win-XP DOS-box.

I consider WinXP a huge pile of crap. If it doesn't support advanced technique (which previous versions of M$ Windows supported, by the way) it doesn't mean that any software that uses this technique is crap. DOSX is fastest and smallest dos extender. I've used it for 4 years (till now) for several huge military class software systems, and I have never

 ANY fault related to DOSX.

 Nic Tiger.

PMode/W, ZRDX and DOS32/A are smaller. DOS32/A is probably faster.
Jul 10 2003
prev sibling parent reply Jan Knepper <jan smartsoft.us> writes:
Gisle Vanem wrote:

 "Jan Knepper" <jan smartsoft.us> wrote:

 Why do you want to use Pharlap?
 I have used Pharlap, DOS4GW and DOSX as it came with Zortech/Symantec and now
Digital Mars
 C++ and found DOSX to be the clear winner. Unless you have specific reasons
for using
 Pharlap, you might be better of using DOSX.

I assume you mean Flashtek's X32 when you say DOSX.

Yup.
 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Oh yeah? How long have you been using either one of them? -- ManiaC++ Jan Knepper
Jul 07 2003
parent "Gisle Vanem" <giva users.sourceforge.net> writes:
"Jan Knepper" <jan smartsoft.us> wrote:

 Why Pharlap? Because it's far superiour to Flashtek and DOS4GW.
 Only djgpp/CWSDPMI is better IMHO.

Oh yeah? How long have you been using either one of them?

Pharlap since 1992, djgpp since 1994. --gv
Jul 07 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
Yes, the problem is the command line length is too long. It has to be 127
characters or less. To use a response file, you'll probably need to do the
link separately. -Walter

"Gisle Vanem" <giva users.sourceforge.net> wrote in message
news:bebv4p$en8$1 digitaldaemon.com...
 I'm trying to build a Pharlap version of a program, but dmc fails to find
 my 386link program. Even though it is on my PATH.

    dmc ident.c ..\lib\wattcpdf.lib x32.lib dosx32.lib  MAKE0000.   

 386link ident -tc -l e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32

 70\lib\dosx32 exc_dmc e:\net\watt\lib\..\lib\wattcpdf d:\prog\dmc\lib\x32

 r70\lib\dosx32 exc_dmc d:\prog\dmc\lib\sdx

 Can't run '386link', check PATH

path


g\wd

n;c:\4dos;
 e:\net\ppp;c:\util\norton

 386link is in d:\phar70\bin.

 Is it a problem with the long 386link cmd-line? If so, how can I make dmc

 that in a response file?

 dmc 8.34.12, Pharlap 7.0 SDK

 --
 Gisle V.

 # rm /bin/laden
 /bin/laden: Not found

Jul 07 2003