Difference between revisions of "User:AlexVinS/Packages"
From Free Pascal wiki
Jump to navigationJump to searchLine 1: | Line 1: | ||
− | == | + | == Delphi style == |
+ | === Platform dependent === | ||
+ | * [[packages|Described here]] | ||
+ | === Semi-crossplatform === | ||
* New system ''crossplatform''. | * New system ''crossplatform''. | ||
** os independent, but depends on CPU. Example targets i386-crossplatform ia64-crossplatform | ** os independent, but depends on CPU. Example targets i386-crossplatform ia64-crossplatform | ||
Line 6: | Line 9: | ||
* Package binary file format. | * Package binary file format. | ||
** Require to be fully portable (not depends of target system and cpu) | ** Require to be fully portable (not depends of target system and cpu) | ||
− | |||
− | == Questions == | + | ==== Questions ==== |
* How exceptions objects should be transfered between executable and packages? | * How exceptions objects should be transfered between executable and packages? | ||
* The package binary format (ELF, FatELF based?) | * The package binary format (ELF, FatELF based?) | ||
Line 14: | Line 16: | ||
* Can RTTI help to access objects from exe by package and vice versa? Use only interfaces or macpas external objects? | * Can RTTI help to access objects from exe by package and vice versa? Use only interfaces or macpas external objects? | ||
− | == Known issues = | + | ==== Known issues ==== |
− | === win32 | + | ; win32 |
* manually loaded binary must (of this restriction could be circumvented?) be copied to another location to mark memory executable. | * manually loaded binary must (of this restriction could be circumvented?) be copied to another location to mark memory executable. | ||
+ | |||
+ | |||
+ | === Full crossplatform === | ||
+ | * some kind of byte code, like Java, CLR, LLVM | ||
+ | |||
+ | == C++ style == | ||
+ | * Executable and its plugins shares same rtl in statically linked library | ||
+ | * Classes can be imported from dynamic library. |
Revision as of 18:09, 11 January 2011
Delphi style
Platform dependent
Semi-crossplatform
- 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.
Full crossplatform
- some kind of byte code, like Java, CLR, LLVM
C++ style
- Executable and its plugins shares same rtl in statically linked library
- Classes can be imported from dynamic library.