Skip to main content

Hi, I'm using Visual Cobol for Eclipse on Redhat,

and trying to migrate from MF COBOL to Visual COBOL.

I noticed [The static-linked run-time system is not available in Visual COBOL] from a document.

But what is [static-link] ?

and how can I find out whether [stacic-link] used in the current MF COBOL? Is where any keyword for using [static-link] ?

Hi, I'm using Visual Cobol for Eclipse on Redhat,

and trying to migrate from MF COBOL to Visual COBOL.

I noticed [The static-linked run-time system is not available in Visual COBOL] from a document.

But what is [static-link] ?

and how can I find out whether [stacic-link] used in the current MF COBOL? Is where any keyword for using [static-link] ?

Generally the term static linking means that callable routines required during execution have been included into an executable file, so that they will be available at runtime. The alternative to this is dynamic linking, where required routines may instead be stored in files separate from the executable. When linking a COBOL program to create an executable, you can statically link in required subroutines that your program requires.

Now, regarding the concept of a "static-linked run-time system". In order for Micro Focus COBOL programs to execute, a copy of the COBOL Runtime System must be available. In very old versions of Micro Focus COBOL, there was an option to build an executable from a COBOL program, and have that executable include the COBOL Runtime System, so that no additional files would be required at execution time. This was called a "static-linked run-time system", but this option is no longer available in current Micro Focus COBOL products. You can build a COBOL program to a native executable, but you must have the COBOL runtime system installed and available on the target system where the COBOL program will run. Please note that the option to statically link the COBOL runtime did not exist in Server Express, so you won't need it if moving from that product.


Generally the term static linking means that callable routines required during execution have been included into an executable file, so that they will be available at runtime. The alternative to this is dynamic linking, where required routines may instead be stored in files separate from the executable. When linking a COBOL program to create an executable, you can statically link in required subroutines that your program requires.

Now, regarding the concept of a "static-linked run-time system". In order for Micro Focus COBOL programs to execute, a copy of the COBOL Runtime System must be available. In very old versions of Micro Focus COBOL, there was an option to build an executable from a COBOL program, and have that executable include the COBOL Runtime System, so that no additional files would be required at execution time. This was called a "static-linked run-time system", but this option is no longer available in current Micro Focus COBOL products. You can build a COBOL program to a native executable, but you must have the COBOL runtime system installed and available on the target system where the COBOL program will run. Please note that the option to statically link the COBOL runtime did not exist in Server Express, so you won't need it if moving from that product.

Thanks for your kindly response.

Now I know what static-link in MF Cobol is

and I don't need to change it when migrate from Server Express.

Thank you