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

Page 251

Advertising
background image

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.

Advertising