Echelon LonTal Stack User Manual

Page 165

Advertising
background image

LonTalk Stack Developer’s Guide

153

Important: Configuration property re-ordering and merging can reduce the

memory required for the template file, but can also result in slower access to
the application’s configuration properties by network management tools.

This can potentially cause a significant increase in the time required to
commission your device, especially on low-bandwidth channel types. You

should typically only use configuration property re-ordering and merging if

you must conserve memory. If you use configuration property re-ordering
and merging, be sure to test the effect on the time required to commission

and configure your device.

#pragma enable_sd_nv_names

Causes the LonTalk Interface Developer utility to include the network

variable names in the self-documentation (SD) information when

self-identification (SI) data is generated. This pragma can only appear once
in the model file.

#pragma fyi_off

#pragma fyi_on

Controls the compiler's printing of informational messages. Informational

messages are less severe than warnings, yet can indicate a problem in the
model file. Informational messages are off by default at the start of

compilation. These pragmas can be intermixed multiple times throughout a

program to turn informational message printing on and off as needed.

#pragma hidden

This pragma is for use only in the <echelon.h> standard include file.

#pragma ignore_notused symbol

Requests that the compiler ignore the symbol-not-referenced flag for the

named symbol. The compiler normally prints warning messages for any

variables, functions, I/O objects, and so on, that are declared but are never
used in the model file. This pragma can be used one or more times to

suppress the warning on a symbol-by-symbol basis.

The pragma should appear after the variable declaration. A good coding

convention is to place this pragma on the line that immediately follows the

variable's declaration. For automatic scope variables, the pragma must
appear no later than the line preceding the close brace character '}', which

terminates the scope containing the variable. There is no terminating brace

for any variable declared at file scope.

#pragma no_hidden

This pragma is for use only in the <echelon.h> standard include file.

#pragma relaxed_casting_off

#pragma relaxed_casting_on

These pragmas control whether the compiler treats a cast that removes the
const attribute as an error or as a warning. The cast can be explicit or

implicit (for example, an automatic conversion due to assignment).

Normally, the compiler considers any conversion that removes the const
attribute to be an error. Turning on the relaxed casting feature causes the

compiler to treat this condition as a warning instead. These pragmas can be
intermixed throughout a program to enable and disable the relaxed casting

as needed.

Advertising