Avoiding compilation cascades

From: Bil Kleb (Bil.Kleb_at_NASA.Gov)
Date: 09/24/04


Date: Fri, 24 Sep 2004 13:11:12 -0400

In Metcalf et al's new 95/2003 Explained book, there
is a nifty appendix entitled, "Avoiding Compilation Cascades".

The solution has to do with severing some of the connections
between the .mod file and the corresponding source file. This
is accomplished (in part) by using compiler options that either
only produce a .mod file or do not produce any .mod file.

However, I am worried about portability of this solution: Do all
compilers provide such options?

I have seen evidence that other groups avoid compilation
cascades by creating the equivalent of C header files. These
header files contain only module interfaces and are included
by their respective modules. The inter-module dependencies
are then tied to these interface files and not the full module.
Thus, when a given module is changed but it's interface remains
unchanged, only the altered module needs to be recompiled and
not ever module that may use it.

Regards,

-- 
Bil Kleb, Hampton, Virginia
http://fun3d.larc.nasa.gov


Relevant Pages

  • Re: New versions of VC++ still stuck with function prototypes?
    ... could drastically improve compilation speed. ... better separation than the other languages. ... interface section and one implementation section. ... precompiled header files to speed up compilation. ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Avoiding compilation cascades
    ... > cascades by creating the equivalent of C header files. ... > are then tied to these interface files and not the full module. ... Are compilation cascades really that big a problem? ...
    (comp.lang.fortran)
  • Re: New versions of VC++ still stuck with function prototypes?
    ... > that could drastically improve compilation speed. ... you've got nothing to separate a class interface from implementation. ... Concerning templates, ... > precompiled header files to speed up compilation. ...
    (microsoft.public.dotnet.languages.vc)
  • Re: how to find the type of an object represented by an interface
    ... Simplifying, generics are strictly linked to compilation, not runtime. ... Dim result as Integer = FooClass.Foo ... template parameter T must implement particular interface i.e. IDisposable: ... Readonly property MaximumRange() as Integer ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Javascript taking over?
    ... stronger typed languages finding more problems during compilation. ... If you combine static and dynamic typing the exits from static ... made explicit with so called interface functions. ... Seed7 - The extensible programming language: ...
    (comp.lang.misc)