Most important about ACDK


ACDK is a free C++ library supporting many Java idioms and functionality.
ACDK has strong support in integration of scripting and distributed technologies.

Content of this chapter:



Please refer to the
  • http Downloads section for the last recent relaeses.
    Please refer to  Download/Support for more information.



    Currently, the following platforms are being supported:
    • Windows NT/XP
    • Sun Solaris
    • Linux
    • BSD
    • MaxOS (planned)
    Additional unix- platforms will be available upon request.
    See also http Porting ACDK to other platforms.


    The following C++ compilers are currently being supported:
    • Microsoft Visual C++ 6.0 (SP3)
    • Microsoft Visual C++ .NET (aka VC 7.0)
    • Microsoft Visual C++ .NET 2005 (aka VC 8.0)
    • GCC g++ 2.95.2 - 3.x
    Ports on other compilers have been successfully transferred.
    • Sun Workshop 6
    • Borland C++ 5.5
    • Borland C++ 6
    • Borland C++ X

    ACDK has originally been produced in a pure ANSI C++, so that other ports should possible without complications.


    ACDK is available under the LGPL license.
    Please refer to  License.


    Please refer to  Installation.


    Please refer to  Packages.


    This page will be included by acdk_about_features and acdk_hb_onepage
    ACDK is a set of class libraries with currently about 56 MB source code in 3,000 files with about 1,500,000 lines of codes and 5,000 classes.

    • Core Features
    • Further library based features
      • Enhanced IO library byte and char based
        • All IO-Classes implements Reader/Writer CharReader/CharWriter interfaces
        • all IO-Classes implements FilterReader/FilterWriter or Storage interface
        • Free combination and chaining of Readers/Writers
      • Enhanced File interface
        •  Interface to different file systems.
          • Normal OS file system
          • Ressource file system embedded in an executable or library
          • ZIP file system for ZIP archives
          • TAR file system for TAR archives
          • FTP file system for remote internet file access
          • HTTP(S) url file system.
      • Networking
        • TCP client/server Sockets
        • UDP client/server Sockets
        • SSL Sockets
        • HTTP URLs
        • HTTPS URLs
      • Regular Pattern matching.
      • Regular Pattern matching
      • XML Handling
        • Parsing using SAX(2) Interfaces
        • Parsing to DOM
        • Validating XML files
        • Selecting XML using XPath
        • Building in memory DOM trees
        • Serialize/Deserialize ACDK Objects to/from XML
        • dom4j like extentions for the standard dom modell.
      •  JDBC like Database connectivity

    • Configuration - Tests - Debugging
      • Plattform neutral make files, generating Makefiles for gmake, bsd make, nmake, Microsoft Visual Studio (.dsw/.dsp).
      • Regression tests through a  unit test concept.
      • Documentation system following JavaDoc convention
      • Online Reference and HTML-Help.
      •  Integrated Tracing and Logging with log4j like framework.
      • Online Debugger (Alpha)
        • view Dump of all ACDK objects in a hierarchical view grouped in static global data and working sets of the threads.
        • Modify value while system is running.
        • Trace monitor.
        • Object Tracer
        • Garbage Collector Monitor
        • Object Profiler
        • Telnet Lisp/CfgScript console to
          • inspect data
          • modify data
          • calling Objects methods

    • Integration of Scripting
      • All ACDK object can be invoked with scripting languages without any further stub or interface code using ACDK DMI facility.
      • Embedding a full featured script interpreter into ACDK:
        • with  CfgScript
        • Lisp
        • Perl
        • Java
        • Tcl
        • Python
        • JavaScript
        • VBScript
    • Platform independed GUI programming
      • Create rich GUIs for Windows and Unix
      • Using  ACDK WX to create GUI application in ACDK C++ or CfgScript.

    • Integration of Distributed Computing
      •  CORBA
        • Most classes and interfaces can be used as CORBA server object implementation without any further programming or code generation.
        • Embedded Generation of Skeleton and Stub for native simple and powerfull ACDK language mapping (similar to Java language mapping).
        • DII, DSI and IR support for any ACDK class.
        • Most CORBA objects can be used in ACDK, without further Skeleton or Stub
        • Enhanced CORBA Object communication for ACDK object supporting function overloading using IIOP.
      •  COM
        • All classes and interfaces can be used as COM/ActiveX component implementation without any further programming or code generation.
        • All ActiveX components can be easely used in ACDK without any further programming or code generation using a simple and powerfull language mapping.
        • An VBScript or JavaScript-Interpreter can be embedded in your application.
        • Planned: Full access to ActiveX components from Linux, Solaris, MacOS X and FreeBSD without any further programming or code generation.
        • Planned: Full access to Server components running Linux, Solaris, MacOS X and FreeBSD through DCOM from Windows
      • Transparent, buildin  Remote Method Calls via ACDK RDMI.
      • .NET / C-Sharp (Planned)
        • Full access to .NET libraries without any programming or code generation.
        • All ACDK classes can be called through any .NET language without any programming or code generation.
        • Planned: Integration of .NET application (server or client) on Linux, Solaris, MacOS X and FreeBSD.
      • XML-RPC (Planned)
        • Full-Featured remote invokation using XML and TCP/IP
      • Enhanced SOAP (Planned)
        • Standard SOAP HTTP-Server
        • Static methods of ACDK classes can be called via SOAP
        • Enhancements for Distributed Computing not addressed in SOAP

    • Full interaction between the scripting languages and Distributed Computing technologies
      • Steer CORBA objects through ActiveX clients
      • Control DCOM application through CORBA clients
      • using Perl to control ActiveX applications
      • using Visual Basic to use CORBA server application
      • Use Scripting to implement C++ Interfaces, derive from C++ classes.
      • Use Script classes to serve as COM/CORBA server objects.
      •  and many other combinations ....