zugbruecke
develop

Introduction

  • About zugbruecke
  • Installation
  • Getting Started

Reference

  • Session Model
  • Configuration
  • Pointers & Memory Synchronization
    • Introduction to Memory Synchronization
    • The Memory Synchronization Protocol
    • The memsync attribute
  • Platform Interoperability
  • Wine Python Environment

Advanced

  • Benchmarks
  • Security
  • Bugs & Known Issues
  • Changes
  • FAQ
  • Getting Help

Links

  • Source Code
  • Issue Tracker
  • Mailing List
  • Chat
  • pleiszenburg.de
zugbruecke
  • Pointers & Memory Synchronization
  • Edit on GitHub

Pointers & Memory Synchronization

zugbruecke needs to translate pointers and synchronize memory between two processes. This section explains how this is done and when special memsync directives, extending regular ctypes syntax, are required.

Memory Synchronization in Detail

  • Introduction to Memory Synchronization
    • Where is memory synchronized automatically?
    • Where is memsync required?
  • The Memory Synchronization Protocol
    • A Simple Example
    • A Complex Example
    • String Buffers, Null-Terminated Strings and Unicode
    • Callbacks / Function Pointers
  • The memsync attribute
    • Paths
    • Key: pointer, path to pointer
    • Key: length, path to length
    • Key: null, NULL-terminated string flag
    • Key: unic, Unicode character flag
    • Key: type, data type of pointer
    • Key: func, custom function for computing the length of the memory segment
    • Key: custom, custom data type
Previous Next

© Copyright 2017-2023 Sebastian M. Ernst. Revision 268dbecb.

Built with Sphinx using a theme provided by Read the Docs.