c
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3756
Lightweight C++ 1.3.2
Lightweight C++ is a language similar to C++ which is translated to C. more>>
Lightweight C++ is a programming language that looks like C++ (a lightweight C++ dialect) and is directly translated to readable C by the lwc preprocessor.
Its more "K&R" and, well, more lightweight. Important thing about lightweight C++ is that by studying the generated C code it is easy to understand how OOP features are implemented and what is the cost of everything.
Adding new features and extensions is also very easy (much easier than adding new C++ extensions to gcc at least), and this is one of lwc goals: To keep evolving.
Main features:
- function overloading,
- member functions,
- inheritance,
- virtual functions (polymorphism),
- multiple inheritance,
- virtual inheritance and pure virtual functions,
- constructors, destructors,
- new and delete,
- default function arguments,
- simple exceptions (no auto destruction of locals)
- and a mechanism of simplistic templates (implemented as high-level multi-line macros).
- operator overloading (works with ptrs when it can)
- +other
Enhancements:
- Changed the generated code for the gcc cleanup attribute so that if a constructor throws, the destructor is not invoked. As in the simple case where we dont have the cleanup attribute and like C++.
<<lessIts more "K&R" and, well, more lightweight. Important thing about lightweight C++ is that by studying the generated C code it is easy to understand how OOP features are implemented and what is the cost of everything.
Adding new features and extensions is also very easy (much easier than adding new C++ extensions to gcc at least), and this is one of lwc goals: To keep evolving.
Main features:
- function overloading,
- member functions,
- inheritance,
- virtual functions (polymorphism),
- multiple inheritance,
- virtual inheritance and pure virtual functions,
- constructors, destructors,
- new and delete,
- default function arguments,
- simple exceptions (no auto destruction of locals)
- and a mechanism of simplistic templates (implemented as high-level multi-line macros).
- operator overloading (works with ptrs when it can)
- +other
Enhancements:
- Changed the generated code for the gcc cleanup attribute so that if a constructor throws, the destructor is not invoked. As in the simple case where we dont have the cleanup attribute and like C++.
Download (0.21MB)
Added: 2005-04-13 License: Freeware Price:
1655 downloads
C-Arbre 0.6PR7
C-Arbre is a documentation and Web publishing system with Wiki, CMS, and groupware tools. more>> <<less
Download (19.4MB)
Added: 2005-04-28 License: (FDL) GNU Free Documentation License Price:
1640 downloads
Download (21.4MB)
Added: 2005-06-17 License: GPL (GNU General Public License) Price: $99
1590 downloads
C++ Server Pages 1.0.2
C++ Server Pages is a partial Java server pages and servlet implementation in C++. more>>
C++ Server Pages is a partial Java server pages and servlet implementation in C++. C++ Server Pages is written as Apache 2.0 modules, with the focus on performance.
<<less Download (1.5MB)
Added: 2005-12-05 License: GPL (GNU General Public License) Price:
1508 downloads
C++ ResourcePool 0.99.13
C++ ResourcePool is a library which can be used to pool resources of every kind. more>>
ResourcePool is a C++ library which can be used to pool resources of every kind. One very interesting side effect is that it can also be used of abstraction layer by providing a unique API for different resources of similar resource types.
Most prominent example are SQL databases. The ResourcePool does currently include a convenient way to access MySQL and Oracle databases in the same way, so that changing for MySQL to Oracle or vice-versa does not need big code changes.
Enhancements:
- Corrected handling of NoFailoverExceptions. Previously it did just not work.
- Fixed a bug which could cause undefined behavior in MultiThreadedModel when a caller had to wait for resources (when the Max limit is reached).
- The argument validation of the bindout() and isnull() methods of SQLSelect(Row) commands has been corrected.
- Fixed a bug in the Cache class which caused an unreasonable exception in case an already cached value is put again.
- The isnull() method has been added to the Runtime selectable SQL driver (fatalmind::ResourceType::SQL).
- The NoFailoverExceptions thrown in the mysql driver do now include the correct message. The messages were lost due to a missing explicit constructor call to the virtual base class.
- The getFactory() method in ResourcePool is now public and returns a const reference.
- Implemented some rudimentary statistics. See ResourcePool.getStats() for details.
- Building improvement: -lrt is used (and not used) more correctly.
- The testing framework has been extended to optionally perform testing in multiple threads. The default behavior has not been changed (make check does not use multiple threads). However when running the test programs manually you can add "-m" as argument. Each "m" does add an additional thread for testing. However, the test programs itself need also to provide such test cases.
- The test cases (used with make check) do now use the complete library. This has the drawback that building must always be done in the top level directory before performing tests. However, the tests use the real library now (and not just a subset) so that the overall testing quality is a little improved.
<<lessMost prominent example are SQL databases. The ResourcePool does currently include a convenient way to access MySQL and Oracle databases in the same way, so that changing for MySQL to Oracle or vice-versa does not need big code changes.
Enhancements:
- Corrected handling of NoFailoverExceptions. Previously it did just not work.
- Fixed a bug which could cause undefined behavior in MultiThreadedModel when a caller had to wait for resources (when the Max limit is reached).
- The argument validation of the bindout() and isnull() methods of SQLSelect(Row) commands has been corrected.
- Fixed a bug in the Cache class which caused an unreasonable exception in case an already cached value is put again.
- The isnull() method has been added to the Runtime selectable SQL driver (fatalmind::ResourceType::SQL).
- The NoFailoverExceptions thrown in the mysql driver do now include the correct message. The messages were lost due to a missing explicit constructor call to the virtual base class.
- The getFactory() method in ResourcePool is now public and returns a const reference.
- Implemented some rudimentary statistics. See ResourcePool.getStats() for details.
- Building improvement: -lrt is used (and not used) more correctly.
- The testing framework has been extended to optionally perform testing in multiple threads. The default behavior has not been changed (make check does not use multiple threads). However when running the test programs manually you can add "-m" as argument. Each "m" does add an additional thread for testing. However, the test programs itself need also to provide such test cases.
- The test cases (used with make check) do now use the complete library. This has the drawback that building must always be done in the top level directory before performing tests. However, the tests use the real library now (and not just a subset) so that the overall testing quality is a little improved.
Download (0.46MB)
Added: 2005-09-23 License: GPL (GNU General Public License) Price:
1493 downloads
C++ WSDL Parser 1.9.3
C++ WSDL Parser is an efficient C++ Web services library. more>>
C++ WSDL Parser is an efficient C++ Web services library that includes a standards compliant WSDL parser API, a Schema parser and validator, an XML parser and serializer, and an API for dynamically inspecting and invoking WSDL Web services.
Enhancements:
- Many WSDLs can now be dynamically invoked.
- Added documentation (doxygen for the API).
- Better error reporting when types are found missing.
<<lessEnhancements:
- Many WSDLs can now be dynamically invoked.
- Added documentation (doxygen for the API).
- Better error reporting when types are found missing.
Download (0.56MB)
Added: 2005-10-06 License: LGPL (GNU Lesser General Public License) Price:
1483 downloads
C to C++ 1.4.0
C to C++ is a Python script that converts C code to C++ code. more>>
C to C++ is a Python script that converts C code to C++ code.
The main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
<<lessThe main program is ctocpp.py that performs successive stages for converting C to C++. A script, ctocpp gives it as parameter to the python interpreter with options you add.
The archive also includes scripts that may help you:
- mover.py changes the location of a project.
- search.py performs searches and replacements.
- mkheader.py corrects a header file.
The C to C++ program with all the python sources is under the GNU GPL license,
that minds you may use it and distribute it freely, providing the copyright is unchanged.
See at the COPYING file for details. This doesnt mean GNU encourages you to convert your C sources to C++. In fact, most of the tools here included may help C programmers outside C++ conversion.
Installing:
Type:
./configure
./setup
mkdoc ...this will generate an html and info manuals.
Download (0.10MB)
Added: 2005-12-02 License: GPL (GNU General Public License) Price:
1423 downloads
C# for Emacs 0.4.0
csharp-mode is a derived mode for cc-mode 5.30.x or higher that implements the font-locking and indention rules for C#. more>>
C# for Emacs is a derived mode implementing most of the C# rules.
After a good number of years, we noticed that there wasnt a "non-patched" version of a csharp-mode for Emacs.
There were a few, but most of them had comments that they were "in progress" or "about to merge", but then we noticed that those notices were there even after a couple of months.
Then, we saw a request for a csharp-mode on the cc-mode Emacs site, so we decided to follow the rules and create one that required no patching or modification to the core cc-mode engine (which is a good thing). So, this is the C# mode.
There was a 0.3.0 version, but it broke things more than it fixed, so we pulled it.
<<lessAfter a good number of years, we noticed that there wasnt a "non-patched" version of a csharp-mode for Emacs.
There were a few, but most of them had comments that they were "in progress" or "about to merge", but then we noticed that those notices were there even after a couple of months.
Then, we saw a request for a csharp-mode on the cc-mode Emacs site, so we decided to follow the rules and create one that required no patching or modification to the core cc-mode engine (which is a good thing). So, this is the C# mode.
There was a 0.3.0 version, but it broke things more than it fixed, so we pulled it.
Download (0.005MB)
Added: 2005-12-08 License: GPL (GNU General Public License) Price:
1415 downloads
Java for C++ 0.4
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. more>>
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. This tool reads a list of Java class names and creates source code for C++-classes to wrap them.
The implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
<<lessThe implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
Download (0.043MB)
Added: 2005-12-22 License: GPL (GNU General Public License) Price:
1404 downloads
Intel C++ Compiler 10.0
Intel C++ Compiler application is a full fledged C/C++ compiler and debugger suite. more>>
Intel C++ Compiler application is a full fledged C/C++ compiler and debugger suite. Its aim is to provide outstanding performance for all Intel 32-bit and 64-bit processors, while not requiring the need for porting applications from other compilers.
It provides optimization technology, threaded application support, and features to take advantage of Hyper-Threading technology. It is substantially source and object code compatible with GNU C, providing fullest compatibility with GCC and G++ 3.x/4.x both in terms of code and of API. It is thereby also easy to integrate with existing development environments.
<<lessIt provides optimization technology, threaded application support, and features to take advantage of Hyper-Threading technology. It is substantially source and object code compatible with GNU C, providing fullest compatibility with GCC and G++ 3.x/4.x both in terms of code and of API. It is thereby also easy to integrate with existing development environments.
Download (MB)
Added: 2007-06-28 License: Free for non-commercial use Price:
1400 downloads
More for C++ 1.0
More for C++ is a class library that provides some features usually not common for C++. more>>
More for C++ is a class library that provides some features usually not common for C++
More for C++ includes a mark-sweep garbage collector, platform-independent classes for threading, sockets, and I/O, unit tests, and a few other utility classes.
First of all, there is a garbage collector for automatic memory management. When an object has been referenced by a special smart pointer and should not be used any more, it will be destroyed by the librarys garbage collector.
Next, there are platform independent packages for file operations, networking and multithreading. At the time being, concrete implementations exist for Win32 and GNU/Linux.
Additionally, the library has some utility classes like containers, observers and (of course the inevitable class "String" (which - like any other class provided by and used with this library - will also be managed by the garbage collector).
One of the most recent packages is called "servlet". It offers the possibility to write loadable modules for the popular Apache web server, serving dynamic content with C++.
Last but not least, "More for C++" comes with its own framework for writing unit tests. This package has been inspired by the fabulous JUnit by Kent Beck and Erich Gamma.
By using this library, you are able to combine the performance of C++ with the elegance and ease of use of Java and Python. A native garbage collector in combination with the smart pointer class helps you to avoid common programming errors like dangling pointers or memory leaks. Besides this, the platform independence helps you to easily port your programs to the most important operating systems.
<<lessMore for C++ includes a mark-sweep garbage collector, platform-independent classes for threading, sockets, and I/O, unit tests, and a few other utility classes.
First of all, there is a garbage collector for automatic memory management. When an object has been referenced by a special smart pointer and should not be used any more, it will be destroyed by the librarys garbage collector.
Next, there are platform independent packages for file operations, networking and multithreading. At the time being, concrete implementations exist for Win32 and GNU/Linux.
Additionally, the library has some utility classes like containers, observers and (of course the inevitable class "String" (which - like any other class provided by and used with this library - will also be managed by the garbage collector).
One of the most recent packages is called "servlet". It offers the possibility to write loadable modules for the popular Apache web server, serving dynamic content with C++.
Last but not least, "More for C++" comes with its own framework for writing unit tests. This package has been inspired by the fabulous JUnit by Kent Beck and Erich Gamma.
By using this library, you are able to combine the performance of C++ with the elegance and ease of use of Java and Python. A native garbage collector in combination with the smart pointer class helps you to avoid common programming errors like dangling pointers or memory leaks. Besides this, the platform independence helps you to easily port your programs to the most important operating systems.
Download (0.16MB)
Added: 2006-01-18 License: Artistic License Price:
1375 downloads
Oracle Aggregate C++ Library Beta1
Oracle Aggregate C++ Library allows C++ programmers to easily create new aggregate functions for Oracle. more>>
Oracle Aggregate C++ Library allows C++ programmers to easily create new aggregate functions for Oracle.
Oracle Aggregate C++ Library can be used as a glue library to existing C++ and C libraries. Detailed knowledge of the OCI aggregate interface is not required to use the library.
With automatic conversion of Oracle built-in types to C++ types it is possible to use the library without using any OCI functions directly.
The Oracle OCI interface for aggregate functions provides a straightforward way to implement aggregate functions in C or C++. There is, however, a certain amount of bookkeeping that needs to be performed in order to use the interface. The goal of this library is to take care of all the bookkeeping details for your, all you need to provide is the aggregate function itself. This makes it particularly easy to use existing C++ code and libraries in Oracle aggregate functions.
Design
The way the library works is that it defines the shared library entry point functions required by Oracle. The entry point functions simply forward all arguments to the static functions of the Aggregate class.
The Aggregate class along with a number of helper classes and functions takes care of converting arguments, configuring the environment, creating implementation instances and such. When everything is ready the arguments originally sent by Oracle are passed to your aggregate implementation.
<<lessOracle Aggregate C++ Library can be used as a glue library to existing C++ and C libraries. Detailed knowledge of the OCI aggregate interface is not required to use the library.
With automatic conversion of Oracle built-in types to C++ types it is possible to use the library without using any OCI functions directly.
The Oracle OCI interface for aggregate functions provides a straightforward way to implement aggregate functions in C or C++. There is, however, a certain amount of bookkeeping that needs to be performed in order to use the interface. The goal of this library is to take care of all the bookkeeping details for your, all you need to provide is the aggregate function itself. This makes it particularly easy to use existing C++ code and libraries in Oracle aggregate functions.
Design
The way the library works is that it defines the shared library entry point functions required by Oracle. The entry point functions simply forward all arguments to the static functions of the Aggregate class.
The Aggregate class along with a number of helper classes and functions takes care of converting arguments, configuring the environment, creating implementation instances and such. When everything is ready the arguments originally sent by Oracle are passed to your aggregate implementation.
Download (0.096MB)
Added: 2006-02-03 License: Boost Software License Version 1.0 Price:
1360 downloads
GNU C library 2.4
GNU C library is the C library used in the GNU system. more>>
GNU C library (glibc) is one of the most important components of GNU Hurd and most modern Linux distributions.
GNU C library is used by almost all C programs and provides the most essential program interface.
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.
The GNU C library is primarily designed to be a portable and high performance C library.
It follows all relevant standards (ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98, Single Unix Specification). It is also internationalized and has one of the most complete internationalization interfaces known.
<<lessGNU C library is used by almost all C programs and provides the most essential program interface.
The history of Unix and various standards determine much of the interface of the C library. In general the GNU C library supports the ISO C and POSIX standards. We also try to support the features of popular Unix variants (including BSD and System V) when those do not conflict with the standards. Different compatibility modes (selectable when you compile an application) allow the peaceful coexistence of compatibility support for different varieties of Unix.
The GNU C library is primarily designed to be a portable and high performance C library.
It follows all relevant standards (ISO C 99, POSIX.1c, POSIX.1j, POSIX.1d, Unix98, Single Unix Specification). It is also internationalized and has one of the most complete internationalization interfaces known.
Download (19.5MB)
Added: 2006-03-06 License: GPL (GNU General Public License) Price:
1344 downloads
Obfuscated Tiny C Compiler
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler. more>>
Obfuscated Tiny C Compiler (OTCC) is a very small C compiler I wrote in order to win the International Obfuscated C Code Contest (IOCCC) in 2002.
My goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
<<lessMy goal was to write the smallest C compiler which is able to compile itself. I choose a subset of C which was general enough to write a small C compiler. Then I extended the C subset until I reached the maximum size authorized by the contest: 2048 bytes of C source excluding the ;, {, } and space characters.
I choose to generate i386 code. The original OTCC code could only run on i386 Linux because it relied on endianness and unaligned access. It generated the program in memory and launched it directly. External symbols were resolved with dlsym().
In order to have a portable version of OTCC, I made a variant called OTCCELF. It is only a little larger than OTCC, but it generates directly a dynamically linked i386 ELF executable from a C source without relying on any binutils tools! OTCCELF was tested succesfully on i386 Linux and on Sparc Solaris.
NOTE: My other project TinyCC which is a fully featured ISOC99 C compiler was written by starting from the source code of OTCC !
Compilation:
gcc -O2 otcc.c -o otcc -ldl
gcc -O2 otccelf.c -o otccelf
Self-compilation:
./otccelf otccelf.c otccelf1
Download (0.004MB)
Added: 2006-03-29 License: GPL (GNU General Public License) Price:
1318 downloads
Exceptions in C 0.1.5
Exceptions in C implements powerful and customizable exceptions for the C programming language. more>>
Exceptions in C implements fully-functional nested exceptions with these constructs:
try
except
on
throw
Also, it allows to define various datatypes for exception object (default is int, can be anything from char * to struct foo *).
Compiling and running
Precodey straight forward.
admp@sols:~/excc/example$ gcc exception.c -c
admp@sols:~/excc/example$ gcc exception.o example.c -o example
admp@sols:~/excc/example$ ./example
Usage: ./example A B
admp@sols:~/excc/example$ ./example 100 2
100/2=50
Program is going to end its short life.
admp@sols:~/excc/example$ ./example 100 0
Caught up division by zero (100/0).
Program is going to end its short life.
Attributions:
Felix Ogg for inspiring me to write finally, also detailed feedbacks and ideas for documentation (diagrams too!). Though I havent completed that - for almost a year now; I am not sure I ever will.
<<lesstry
except
on
throw
Also, it allows to define various datatypes for exception object (default is int, can be anything from char * to struct foo *).
Compiling and running
Precodey straight forward.
admp@sols:~/excc/example$ gcc exception.c -c
admp@sols:~/excc/example$ gcc exception.o example.c -o example
admp@sols:~/excc/example$ ./example
Usage: ./example A B
admp@sols:~/excc/example$ ./example 100 2
100/2=50
Program is going to end its short life.
admp@sols:~/excc/example$ ./example 100 0
Caught up division by zero (100/0).
Program is going to end its short life.
Attributions:
Felix Ogg for inspiring me to write finally, also detailed feedbacks and ideas for documentation (diagrams too!). Though I havent completed that - for almost a year now; I am not sure I ever will.
Download (0.015MB)
Added: 2006-03-16 License: GPL (GNU General Public License) Price:
1318 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above c search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed