Difference between revisions of "User:AlexVinS/Packages"

From Lazarus wiki
Jump to navigationJump to search
Line 1: Line 1:
 
==Some ideas on library [[packages]] design==
 
==Some ideas on library [[packages]] design==
* New system ''lib''.  
+
* New system ''crossplatform''.  
** os independent, but depends on CPU. Example targets i386-lib ia64-lib
+
** os independent, but depends on CPU. Example targets i386-crossplatform ia64-crossplatform
 
* OOP interface (ojpas interfaces based) between host executable and package RTL, extensible to communicate with concrete packages.
 
* OOP interface (ojpas interfaces based) between host executable and package RTL, extensible to communicate with concrete packages.
 
* Host executable memory manager shared with package libs.
 
* Host executable memory manager shared with package libs.

Revision as of 06:16, 11 January 2011

Some ideas on library packages design

  • New system crossplatform.
    • os independent, but depends on CPU. Example targets i386-crossplatform ia64-crossplatform
  • OOP interface (ojpas interfaces based) between host executable and package RTL, extensible to communicate with concrete packages.
  • Host executable memory manager shared with package libs.
  • Package binary file format.
    • Require to be fully portable (not depends of target system and cpu)

Questions

  • How exceptions objects should be transfered between executable and packages?
  • The package binary format (ELF, FatELF based?)
  • The package main source file format (lpk?)
  • Can RTTI help to access objects from exe by package and vice versa? Use only interfaces or macpas external objects?

Known issues

win32

  • manually loaded binary must (of this restriction could be circumvented?) be copied to another location to mark memory executable.