Environment (j.3.2), Identifiers (j.3.3), Identifiers (f.3.3 of ansi c standard) – Echelon Neuron C User Manual
Page 251

Neuron C Programmer’s Guide
239
Environment (J.3.2)
Q: What are the semantics of the arguments to
main
? (Sec. 5.1.2.2.1)
A:
Neuron C places no special meaning on the procedure main. The name main
can be used as any other legal identifier.
Q: What constitutes an interactive device? (Sec. 5.1.2.3)
A:
Neuron C defines no interactive devices.
Identifiers (J.3.3)
Q: What is the number of significant initial characters (beyond 31) in an
identifier without external linkage? (Sec. 5.2.4.1, Sec. 6.4.2)
A:
An identifier without external linkage can extend to 256 characters. All
characters are significant.
Identifiers (F.3.3 of ANSI C Standard)
Q: What is the number of significant initial characters (beyond 6) in an identifier
with external linkage? (Sec. 3.1.2)
A:
There are two forms of external linkage in Neuron C:
traditional external
and
network external
. Traditional external consists of the extern, static, and file
scope variables and procedure names. These names are used by the Neuron C
linker when linking the program to construct a load image. Names declared with
the extern or static storage classes, or declared at file scope, cannot exceed 63
characters. In some cases, the compiler may append characters to the name to
make it unique, and in these cases, the external identifier may be further
restricted in length, but in no case is the name required to be shorter than 50
characters. The compiler produces a warning diagnostic when such names have
excessive length, and it also truncates these names to the maximum allowable
length. Therefore, it is best to restrict traditional external names to 50
characters or less.
The second form of external linkage, network external, consists of the names
used by the network and by a network tool. These names include names of
network variables, names of message tags, and names of typedefs used in
defining network variables of nonstandard types. The compiler produces an error
diagnostic for each network external name that exceeds 16 characters.
Functional block names are considered network external names when there is no
external_name or external_resource_name option in the fblock declaration. If the
option is supplied, an internal functional block name can be up to 64 characters.
Q: Are case distinctions significant in an identifier with external linkage? (Sec.
3.1.2)
A:
Yes, case is significant in an identifier with external linkage, for both forms of
external linkage described above.