rmbult01@ulkyvx.BITNET (Robert M. Bultman) (02/17/91)
People seem to be having some confusion concerning executable file size and different languages. Although I have no experience with arm machines, it is my guess that the reason for the bloat on the c executables, namely the ubiquitous 'Hello, world' program, is not due to a problem with the c language per se, but with the linker. It appears that the linker is not very smart and links in a whole library rather than just the used modules. All of the unused modules are effectively dead code. This causes increased load time, prior to running, and possibly extra time after the program exits. The load time would be increased because of the time required to place the image in memory, due to its size, and any address fix-ups that might have to be done. Again, I don't know anything about the arm, but this problem is arm, and language, independent. It is a problem with the linker, whether the linker is stand-alone, a la MS-DOSs link, or integrated, a la the TURBO languages, and whether the language is a compiled BASIC, C, Fortran, Pascal,...is independent of dumb linkage. And, on the computer language flame wars, remember that a computer language is just a tool. You choose the right tool for the right job (i.e. nail==hammer, bolt==wrench). Robert Bultman, University of Louisville, Speed Scientific School