Blueprint Help Send comments on this topic.
Hints Portability

Glossary Item Box

Portability

CLIP is designed as a Multi-Threaded/Multi-Core/Multi-Processor/Distributed software middleware. Therefore, portability issues need to be considered at the design stage

Data Types

The C/C++ language standard does not specify exact size of data types and therefore they are not consistent across hardware platforms. CLIP defines a set of Intrinsic data types (Int, Char, Float etc), that are defined in a platform specific header file, to ensure a consistent data size.

Data Structures

The C/C++ language does not specify how data is arranged within data structures and therefore the data alignment is inconsistent across platforms. Try to organize structures to minimise the potential problems.

Memory Pointers

When data is moved across processors, memory pointers will become invalid. Dont use pointers in data that can be moved between processors (Records/State).

C++ STL

The C++ standard template library are functionally standard, but not implementation standard. Thus their internal data structures are inconsistent and they often use hidden pointers. Do not use in data that can be moved between processors (Records/State).