Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site brl-tgr.ARPA Path: utzoo!linus!philabs!cmcl2!seismo!brl-tgr!ron From: ron@brl-tgr.ARPA (Ron Natalie) Newsgroups: net.lang.c Subject: External Variable names in C. Message-ID: <5189@brl-tgr.ARPA> Date: Thu, 11-Oct-84 13:34:48 EDT Article-I.D.: brl-tgr.5189 Posted: Thu Oct 11 13:34:48 1984 Date-Received: Fri, 12-Oct-84 06:08:10 EDT Organization: Ballistics Research Lab Lines: 22 Another approach is to declare C-externs as C-specific. Then make them eight characters significant like non-externals are now. To use things that are really external to "C" you could add a construct such as: symdef foo "FOO$BAR" Where the external symbol name foo would actually use the symbol FOO$BAR in the machine code. Generally, one doesn't care about what external C symbols look like (they all have _ in front of them on all machines, right? wrong.). It only comes when we try to use C with some language outside of the C environment (typically assembler). Frequently, there are symbols that you wish to use that you can't make using normal C symbols. This increases portability. First, any external symbol that is only-C and contstrained to whatever other standards that are made for C names in general will be portable to all macines. Second, if you need to introduce a REAL external symbol, you can now do so in a portable way my mapping it to a C symbol name that obeys the rules for all the rest of the C symbols. -Ron