Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.983.817 Times

C/Invoke 1.0

  Date Added: May 11, 2010  |  Visits: 541


Report Broken Link
Printer Friendly Version

Product Homepage
Download (71 downloads)

C/Invoke is a library for connecting to C libraries at runtime. This differs from the typical method of interfacing with C, which involves writing static definitions which are then compiled to a machine-dependant format. C/Invoke provides a runtime facility to build descriptions of C functions and to call them, passing them appropriate data and retrieving results. C/Invoke provides a central repository of code to handle the platform-dependant details of marshaling C parameters and return values. Currently C/Invoke has been ported to GCC (GNU/Linux, *BSD) on the x86 and amd64 architectures, Microsoft Windows on x86, and Mac OS X on PowerPC. The development team is interested in adding more ports as they gain access to more diverse hardware. Audience The main audience of C/Invoke are users of high-level programming languages who wish to interface with C. At the moment, most languages can be extended with C libraries only by authoring modules in C using language-specific APIs. There are many problems with this approach; writing extension modules requires knowledge of the C language instead of the language the application is being written in, the APIs needed to implement the modules are often involved and complex, and the resulting libraries must be built and maintained on many different platforms. However, once C/Invoke is integrated into a language, the situation changes dramatically; users of Lua (for example) can interface to C by writing Lua code alone. This means that the advantages of Lua (or other high-level languages) such as portability and ease of use can be combined with the low-level power of C. To call a C function, one merely declares a C prototype in the high-level code, similar to the P/Invoke functionality of Microsofts .NET Framework. A subroutine is then created in the high-level environment which hooks into a proxy generated to correctly call the given C function. There are two ways to integrate C/Invoke into a language. One is to use the existing extension module interface of the language in the normal manner. This is the preferred method to integrate with a language which is already established and which would be hard to modify, such as Perl, Python, Ruby, Tcl, etc. The other way would be to link C/Invoke directly into the language runtime and make the declarative C services part of the syntax of the language. The C/Invoke developers are always looking for volunteers to integrate with an existing language, or programming language authors who are interested in using C/Invoke directly. Whats New in This Release: - Support for the SPARC architecure was added, and many bugs were fixed in the Lua language binding..

Requirements: No special requirements
Platforms: Linux
Keyword: C Libraries Cinvoke High-level Language Libraries Library Lua Programming
Users rating: 0/10

License: Freeware Size: 71.68 KB
Libraries  -  Redland RDF Library Language Bindings
Redland RDF Library Language Bindings provides high-level language bindings for the Redland RDF C libraries, allowing full access to the C APIs along with enhancements for individual languages. Redland RDF Library Language Bindings currently...
890.88 KB  
Programming  -  D frontend for GCC 0.23
D is a high-level language derived from C and C++ but is not backwards-compatible with either. GDC is a frontend for D written for GCC. Supported Systems: GCC 3.3.x, 3.4.x, 4.0.x Linux (tested on Red Hat 7.2, 8) Mac OS X 10.3.x, 10.4.x...
1.1 MB  
Libraries  -  gloox
gloox is a high-level Jabber/XMPP library for C++. Additionally, it offers high-level interfaces for interaction with an XMPP server. gloox is released under the GNU GPL. Commercial licenses are available. gloox is fully compliant to XMPP Core...
266.24 KB  
Utilities  -  hlfl 0.60.1
High Level Firewall Language (hlfl) permits writing firewalling rules using a high level language. It translates your high level language firewalling rules into usable rules for IPChains, NetFilter, IPFilter, Cisco, and many others. Renaud...
102.4 KB  
Code Management Tools  -  High Level Virtual Machine 0.1
High Level Virtual Machine is a toolkit for developing virtual machines for dynamic languages. The High Level Virtual Machine is: - Based on LLVM (Low Level Virtual Machine). LLVM is HLVMs sister project. HLVM gains tremendous capability from...
122.88 KB  
Modules  -  PyUI 0.95
PyUI is a user interface library written entirely in the high-level language python. It has a modular implementation that allows the drawing and event input to be performed by pluggable "renderers". This makes PyUI very portable and scalable. It...
Libraries  -  File::Maker 0.05
File::Maker is a Perl module that mimics a make by loading a database and calling targets methods. SYNOPSIS ##### # Subroutine interface # use File::Maker qw(load_db); %data = load_db($pm); ###### # Object interface # require...
77.82 KB  
Programming  -  elastiC language 0.2
elastiC is a Very High Level Language (VHLL) with a C-like syntax. Dynamically typed, with fast Garbage Collection, supports functional programming and robust Object Orientation. Designed to be easily extended and embedded, it's portable and...
89.65 KB  
Programming  -  Octave 2.9.13
GNU Octave project is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using...
8.1 MB  
Libraries  -  SMea Kit 1.6
The SMea Kit is an open-source, high-level 3D graphics library, written in Objective-C atop OpenGL and Mac OS X's Cocoa framework. It is designed to support virtual reality applications, in which multiple articulated human figures interact on an...
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB