Program Terms

Compiler :

A program that translates source code output from the preprocessor into object code. The resulting object file can then be linked to produce an executable program using the linker.

See Also: Linker, Object File, Program File

Linker :

A program that combines object files created by a compiler to produce an executable program. The linker examines the supplied object files to resolve symbol references between modules. If a module refers to a symbol that is not defined by any of the modules, the linker searches one or more libraries to resolve the reference.

See Also: Library File, Object File

Make :

A program used to maintain multifile program systems. A make program takes as its input a file (make file) specifying the relationships between files. When executed the make program compares the date and time stamps of specified target files to the specified dependent files. If any of the dependent files have a more recent date and time stamp than the associated target files, a series of actions are performed.

See Also: Make File

Operating System :

The basic software program that organizes and services the computer and its peripheral devices. For example DOS operating system is organized into several layers as follows:

. Loader is the layer which brings the operating system software into memory.

. BIOS is the basic hardware interface layer that provides services to the kernel and consists of initialization code and device drivers.

. Kernel is the application interface layer and provides services for process control, memory management, peripheral support, and a file system.

. User interface shell (COMMAND.COM) provides basic services to the user including an interactive mode, directory management, and a service for loading and executing application programs.

. Support programs provide extended operating services not resident in the user interface shell.

Pre-processor :

A translation program that prepares source code for compilation by applying selective text replacements. The replacements to be made are specified by directives in the source file. In Clipper language, the preprocessor operates transparently as a part of the compiler program.

See Also : Compiler

Print Spooler :

A program running either on a local workstation or on the file server that captures print jobs to a file and then queues them for printing later. Print spoolers generally operate as background tasks in order to facilitate printing while other tasks are operating in the foreground.

Program Editor :

A program that builds and edits text files or programs.

How I can migrate ?

How I can migrate DOS  to Windows ?

By principle, Harbour  can compile every Clipper Language program; and Harbour applications can run under Windows ( besides many other platforms ) with no problem. This is one of main goals of Harbour project.

Furthermore, Harbour compiled executables will be 32 bit, not 16 😉

Maybe your application include many ( or too many ) .prg file; no problem; (almost) no modification required on your source code; nor extra scripts for compile. ( Thanks to Viktor Szakáts for really wonderful MAKE utility : HBMK2. )

Only  care is :  if “main” prg of your application doesn’t have a “main” module , add one PROCEDURE or  FUNCTION statement to most top of your “main” .prg.

PROC MAIN

That’s all 🙂

You can build your application via HMG by a .bat file (or direct command in the DOS box) such as :

CALL C:\hmg\build.bat /c <mainPrgName>

or via Harbour:

SET PATH=C:\harbour\bin;C:\hmg\mingw\bin;%PATH%
hbmk2 <mainPrgName> -RUN

or the simplest way :

    C:\harbour\bin hbmk2 <mainPrgName> -RUN

( hbmk2 will find all necessary  paths / files 🙂 )

Of course, you need supply name of your main .prg file in place of <mainPrgName>. You may also want to  change  “C:\hmg” and “C:\hmg\harbour” according to your install configuration.

Please be careful about PATH command : If you call the the .bat file from Windows explorer, no problem. If you are working on command (DOS) box, calling repetitively .bat file may cause problem by grown of PATH . In this case you may build a separate .bat for only PATH command and call it only once at beginning of DOS session.

If you want convert a text (console) based application to GUI ( Graphical User Interface ) based Windows application, this is another thing and there isn’t any automatic way for this.  You have need first a GUI library can be used into Harbour. After selecting which library is convenient to your needs and learning  this library, you may begin planing steps of converting process. Writing your application from scratch may be longest but most secure way.

There are links to some articles  about migration in the Links page; looking at this will be useful.