Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!mcnc!rti!sas!bts From: bts@sas.UUCP (Brian T. Schellenberger) Newsgroups: comp.lang.c Subject: Re: MAJOR ANSI C FLAW (my opinion, of course) Message-ID: <191@sas.UUCP> Date: Sat, 17-Oct-87 15:08:57 EDT Article-I.D.: sas.191 Posted: Sat Oct 17 15:08:57 1987 Date-Received: Sun, 18-Oct-87 11:36:47 EDT References: <1132@gilsys.UUCP> Organization: SAS Institute Inc.,Cary NC,25712 Lines: 21 Keywords: external names, length, bogosity to the max Summary: talk to the linker-writers The six-character limit on external names in ANSI is due to the fact that external names must be resolved by the LINKER, not the COMPILER. Compiler- writers are forced under ANSI to keep very long names around; ANSI just didn't force compiler-writers to write linkers as well. In fact, there are systems where the name limit is forced by the standard system object code format. On IBM MVS systems, for example, external names longer than eight characters are simply not expressible in the object-file format; in order for a C compiler to use them, it would have to have an incompatible format and the compiler-writers would have to write their own linker, which would effectively preclude sharing code with other languages and standard packages (not to mention talking to the operating system!). Sorry, but that's the way it is. -- --Brian. (Brian T. Schellenberger) ...!mcnc!rti!sas!bts DISCLAIMER: Whereas Brian Schellenberger (hereinafter "the party of the first