Skip to content
Surf Wiki
Save to docs
general/middleware

From Surf Wiki (app.surf) — the open knowledge base

Cross-platform support middleware

Software abstraction layer


Software abstraction layer

A cross-platform support middleware (CPSM) is a software abstraction layer that guarantees the existence, and correct implementation, of a set of services on top a set of platforms.

Abstraction method

The abstraction method in the CPSM development is the method used to compile the concrete source code for a given platform without compromising the abstract interfaces provided. The most commonly used abstraction methods in CPSM development are: conditional compilation and directory separation of sources.

The first method consists in embedding preprocessor instructions in the source code to conditionally select the source subtree compatible with a given platform.

The second method takes advantage of the filesystem organization to divide the source code in different folders, one for each incompatible platform. Thus delegating the selection problem to the build system.

Some distributions like MSYS and Cygwin may help build the cross-platform code in a Unix-like environment even on Microsoft Windows. Both distributions provide a decent version of GNU Make that can direct the build process in a cross-platform fashion.

References

References

  1. Zavolinsky, Patricio. "Abstracción en el desarrollo de software independiente de la plataforma: Análisis del proceso de desarrollo de Cross-Platform Support Middlewares (spanish)". Universidad de Buenos Aires, Argentina.
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Cross-platform support middleware — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report