[net.lang.c] External Variable names in C.

ron@brl-tgr.ARPA (Ron Natalie <ron>) (10/11/84)

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