Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Dynace object-oriented extension to C
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Java
ODBC
OLE
Registry
Resources
WDS
WinExam
Windows
bin
class
cld
docs
dpp
examples
generics
include
kernel
manual
scheme
threads
utils
16bit.bat
32bit.bat
LICENSE.txt
README
README.md
b16.dm
b32.dm
change.log
dropunx.sh
enhancements.txt
m16.cmd
m16.dm
m32.cmd
m32.dm
makefile.inc
makefile.unx
mkfile
mkfile.inc
s32.dm
w32.dm

README.md

Dynace Object-Oriented Extension to C

Dynace is a portable, open-source extension to the C language that adds the following capabilities to standard C:

  • full object-oriented capabilities including
    • classes, instances, methods, & generic functions
    • encapsulation
    • polymorphism
    • (multiple) inheritance
  • fully meta-class based (like Smalltalk or CLOS)
  • dynamic binding and dispatching through generic functions (like CLOS)
  • garbage collection
  • cooperative threads (also supports native threads)
  • full class library
  • optional Win32 GUI development system (portable through WINE)
  • interfaces with Java, ODBC, OLE
  • includes SQL interface / class library

Dynace:

  • written in standard C
  • includes a 350+ page user manual and reference
  • tutorial
  • using classes involves no new syntax elements to standard C
  • easily added to existing C code

Dynace is portable across:

  • 16, 32 & 64 bit environments
  • Linux
  • Mac OS X
  • Windows (all versions)
  • BSD
  • Solaris / OpenIndiana
  • Plan 9
  • Minix

Dynace is production quality and has been used in commercial environments for more than ten years.

Dynace was written to solve perceived problems with C++ as outlined in the user manual.

Dynace is released under the BSD 2-Clause license.

System overview is at: docs/ORIENT.txt

Build instruction are at: docs/BUILD.txt

Something went wrong with that request. Please try again.