mimetic is a free/GPL Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient. It is based on the C++ standard library and heavily uses templates so require standard compliant C++ compilers. It has been developed using GCC 3.x and tested on most Unixes. mimetic code include some classes that are not strictly needed but are there just to improve performance. Most classes functionalities and behavior will be clear if you ever studied MIME and its components; if you don’t know anything about Internet messages you’ll probably want to read some RFCs to understand the topic and, therefore, easily use the library whose names, whenever possible, overlap terms adopted in the standard RFC documents. At the very least: RFC 822, RFC 2045 and RFC 2046. A more complete list can be found at the Earl Wood’s MIME page.
"...This is a free C++ class library of cryptographic schemes. Crypto++ algorithms include:
Panama, Salsa20, Sosemanuk, AES (Rijndael), RC6, MARS, Twofish, Serpent, CAST-256, IDEA, Triple-DES (DES-EDE2 and DES-EDE3), Camellia, RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, and SHA-512), Tiger, WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320, RSA, DSA, ElGamal, Nyberg-Rueppel (NR), Rabin, Rabin-Williams (RW), LUC, LUCELG, DLIES (variants of DHAES), ESIGN, ECDSA, ECNR, ECIES, ECDH, ECMQV, Diffie-Hellman (DH), Unified Diffie-Hellman (DH2), Menezes-Qu-Vanstone (MQV), LUCDIF, XTR-DH…"
ImgSource is a free Win32 library that can be used in any 32-bit Windows environment. It provides over 350 image file and image processing functions and is available both as a DLL that can be used from almost any programming environment (including C/C++, VB, C#, MC++, PowerBasic, Delphi, Access, and many more). It is also available in C/C++ static library form for use with C/C++ in VC6 or VS.Net….
A commercial collection of serial communication libraries, DLLs, .Net Components, TSRs, drivers, tools, Wireless Bluetooth Serial Adapters, Bluetooth +EDR USB Dongles, and multiport cards. The serial communication library supports Windows Vista, Windows XP, Windows 2003, Windows 2000, Windows CE, Pocket PC, Windows XP Embedded, Windows NT Embedded, Windows 98, MS-DOS, Windows Me, Windows NT, Windows 95, & Windows 3.x. We also provide a complete line of multiport serial communication cards (PCI, ISA, Universal PCI, PCMCIA, Compact Flash, Wireless RS232, USB to serial) for RS232, RS422, and RS485 communications. The standards available includes ISA, PCI, UPCI (Universal PCI/Low Profile), PCMCIA, USB to serial, Wireless RS232, & Compact Flash multiport cards and also RS232, RS485, and RS422 versions of these multiport cards.
"...OCL stands for Oracle Class Library provides native connectivity to the Oracle database server. OCL uses Oracle Call Interface (OCI) directly. OCI is low-level native application programming interface to access to Oracle. Using OCI in Oracle Class Library allows to create lightweight and fast applications working with Oracle. Oracle Class Library encapsulates OCI calls in high-level classes that allows to hide the complexity of using OCI directly and keep performance and all abilities of native routines. With OCL you can use the power and flexibility of SQL in your application programs without any restrictions. OCL contains classes to control connection, execute SQL statements, store and process result rows of queries and some common classes useful for developing database applications. All classes have intuitive, easy to use interface. OCL is written with ANSI C++ and uses Standard C++ Library only that allows you to port your application easily to another platform. Oracle Class Library provides easiness in using from Pro*C/C++ and power of Oracle Call Interface…"
Related development environment: OraDeveloper Studio – a standalone IDE for Oracle developers.
Integrated development solution: OraDeveloper Tools – an incorporated into Visual Studio and Borland Delphi.
libusb is a C library that gives applications easy access to USB devices on many different operating systems. libusb is an open source project, the code is licensed under the GNU Lesser General Public License version 2.1 or later.
The GPS, USB, Wireless LAN (WLAN), Bluetooth and other drivers, libraries and frameworks by Dr. Till Harbaum for Linux, Windows and MacOS.
The royalty free USB drivers by FTDI which claimed as a specialist in converting peripherals to Universal Serial Bus
This is an open source USB stack for PIC 24F and PIC 18F microcontrollers with USB hardware. It's licensed Creative Commons Attribution, so you can use pretty much however you want. The stack has these features:
USB CDC (virtual serial) support
USB HID support
Interrupt or polling driven
The USB/IP Project aims to develop a general USB device sharing system over IP network. To share USB devices between computers with their full functionality, USB/IP encapsulates "USB I/O messages" into TCP/IP payloads and transmits them between computers. Original USB device drivers and applications can be also used for remote USB devices without any modification of them. A computer can use remote USB devices as if they were directly attached; for example, we can ...
USB storage devices: fdisk, mkfs, mount/umount, file operations, play a DVD movie and record a DVD-R media.
USB keyboards and USB mice: use with linux console and X Window System.
USB webcams and USB speakers: view webcam, capture image data and play some music.
USB printers, USB scanners, USB serial converters and USB Ethernet interfaces: ok, use fine.
It is currently implemented as Linux device drivers and available under the open source license GPL. Its I/O performance is enough practical in local area network for all types of devices, including isochronous devices, without any modification of Linux-original USB device drivers.
The USB Host Software by Lakeview Research which includes USB classes, host drivers (class, generic, and vendor-specific), Windows tips, Linux, Mac, and other host OSes. Other input/output drivers also available such as serial ports, mass storage, Ethernet, parallel ports etc.
The Open Source Framework for USB Generic HID devices based on the PIC18F and Windows.
USB Implementers Forum, Inc. is a non-profit corporation founded by the group of companies that developed the Universal Serial Bus specification. The USB-IF was formed to provide a support organization and forum for the advancement and adoption of Universal Serial Bus technology. The Forum facilitates the development of high-quality compatible USB peripherals (devices), and promotes the benefits of USB and the quality of products that have passed compliance testing. Some of the many activities that the USB-IF supports include:
USB Compliance Workshops
USB compliance test development
www.usb.org Web site
USB pavilions at CES, IDF, WinHEC, and other events
Marketing programs and collateral materials, such as retail newsletters, retail salespeople training, store end-caps, etc.
USB Developer Conferences
and many more...
OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol. The suite includes:
slapd – stand-alone LDAP daemon (server)
slurpd – stand-alone LDAP update replication daemon
libraries implementing the LDAP protocol, and
Utilities, tools, and sample clients.
Also available from the OpenLDAP Project:
JLDAP – LDAP Class Libraries for Java contributed by Novell.
This is precompiled CDs of the GNU Scientific Library for UNIX and Microsoft Windows. The Windows libraries are available for Microsoft Visual Studio 2005, Visual Studio.NET 2003 and Visual Studio 6.0. All CDs include full technical support by phone/email and help fund the development of the library.
Marshallsoft provides a commercial software development tools for Windows XP, Windows Me, Windows 2000, Windows 98, Windows NT, Windows 95, MS-DOS and Pocket PC. The communications libraries claimed been used in tens of thousands of sites around the world. Their customers include many governments, research labs, schools and universities, small companies, international corporations, as well as individuals. The communications libraries are for C/C++, Pascal, PowerBASIC, Visual Basic, Delphi, Visual FoxPro, Visual dBase, Xbase++, MATLAB, FileMaker Pro, COBOL, and FORTRAN. Evaluation versions of all of the software can be downloaded from here, try it before you buy.
GOBLIN is a C++ class library focused on graph optimization and network programming problems. It deals with all of the standard graph optimization problems discussed by textbooks and in courses on combinatorial optimization. This software package also consists of a shell interpreter which extends the well-known Tcl/Tk language to graph objects and a graph browser and editor tool. Executable solvers are available for practical optimization problems. The graph browser applies for teaching and scientific documentation purposes. GOBLIN is open source software and licensed by the GNU Lesser Public License (LGPL). That is, GOBLIN may be downloaded, compiled and used for scientific, educational and other purposes free of charge. For details, in particular the statements about redistribution and changes of the source code, observe the LGPL document which is attached to the package.
Another Winsock/Client-server/TCP/IP Components and libraries directory. Tagged as a commercial product.
These are commercial products. The SNMP Builder for C++ has two different packages, supporting Windows 2003/2000/XP operating systems:
SNMP Builder for Microsoft VC++ v6 and .NET 2003, 2005.
SNMP Builder for Borland C++ Builder v6 and Studio 2006.
Both SNMP Builder packages include:
SNMP C++ Class Library v3.3 supporting SNMP v2c and v1.
Guide and Reference Manual.
The MIB Compiler with a friendly and flexible graphic user interface allows the quick and easy accomplishment of the MIB compilation process. A programmer can determine the correct order of MIBs to compile in a matter of seconds using powerful built-in error processing and file search facilities. The final step of the MIB compilation process is generation of C++ header files with MIB object definitions. The MIB Compiler enables SNMP object references to use symbolic names. This makes programming easier and simplifies the software maintenance and modification process. New, efficient, easy to use and versatile methods have been added to make software development even easier and more pleasant. As with the SNMP Toolkit, the SNMP Builder comes with two very useful SNMP tools:
An SNMP Sender and
An SNMP Tracer.
These two GUI utilities provide a much more precise and flexible interface (comparing to MIB browser) assisting in debugging of SNMP software and also in studying how the existing SNMP software works in real life applications. The Tracer utility replaces the need for a very expensive protocol analyzers. It can display both parsed SNMP message fields (SNMP message header, PDU fields and variable binding list details) and raw message data. The trace can be saved and printed. The utility can receive on standard SNMP ports: 161 and 162, and also on non-standard ports. The Sender utility includes a graphic editor enabling the creation of SNMP request messages with precise control of message type, header fields and variable binding list. The utility can send the requests to a specified destination, displaying the details about sent requests and received replies. The sender can send the same request multiple times to a single destination, measuring network performance and the maximum number of requests an agent can process per second. These requests can be saved and then used later on during regression testing. The detailed programming guide and reference manual in Adobe Acrobat format contains hyperlinks which simplify the quick reference look-up and serves as an on-line help. The extensive programming guide illustrates all the aspects, features and pitfalls of using class library objects, methods and properties to achieve maximum performance, reliability and flexibility of the software being developed.
SocketCC is a class library that encapsulates the existing Sockets API which is available on all Linux/UNIX environments and provides a simple solution to writing networked IP applications in these environments. As an advantage, the class structure supports both the TCP and UDP Protocols as well as development of IPv4 and IPv6 capable applications. SocketCC was originally developed the personal needs while developing an IPv4/IPv6 Streaming Traffic Generator. At this stage an article about SocketCC was written and published in Dr. Dobbs Journal – read the article. The SocketCC library and associated documentation can be downloaded here.
A directory that listing the Winsock and socket tools for all Winsock and socket components, controls, libraries and objects for .Net, ASP.NET, ActiveX, Java, Delphi. These are commercial products.
RockSaw is a simple API for performing network I/O with raw sockets in Java. It has been deployed on thousands of computing nodes as part of internal custom enterprise applications. The current version of RockSaw compiles on Linux, Win32 with Cygwin/MinGW/Winsock or Visual C++, Solaris 8/9/10, FreeBSD 5.3, and Darwin. It should compile on other POSIX systems using the GNU tool chain. Configuration of the JNI build via autoconf may be added somewhere down the line. There just are not enough platform-specific cases in the native code to warrant it right now, but the GNU Makefile is accumulating if blocks. The given Ping.java example program requires at least VServ TCP/IP version 0.7.x to compile because it uses the ICMPEchoPacket class. RockSaw is released under the Apache License 2.0.
The ADAPTIVE Communication Environment (ACE) is a freely available, open-source object-oriented framework that implements many core patterns for concurrent communication software. ACE provides a rich set of reusable C++ wrapper facades (pdf document) and framework components that perform common communication software tasks across a range of OS platforms. The communication software tasks provided by ACE include:
Shared memory management.
ACE is targeted for developers of high-performance and real-time communication services and applications. It simplifies the development of OO network applications and services that utilize interprocess communication, event demultiplexing, explicit dynamic linking, and concurrency. In addition, ACE automates system configuration and reconfiguration by dynamically linking services into applications at run-time and executing these services in one or more processes or threads. ACE continues to improve and its future is bright. ACE is supported commercially by multiple companies using an open-source business model. In addition, many members of the ACE development team are currently working on building The ACE ORB (TAO).
Find tools for MySQL by C/C++ projects or snippets.
…Eclipse is an open source community, whose projects are focused on building an extensible development platform, runtimes and application frameworks for building, deploying and managing software across the entire software lifecycle. Not just a Java IDE but Eclipse is much more than a Java IDE. The Eclipse open source community has over 60 open source projects. These projects can be conceptually organized into seven different categories:
Embedded and Device Development.
Rich Client Platform.
Rich Internet Applications.
Application Lifecycle Management (ALM).
Service Oriented Architecture (SOA).
The Eclipse community is also supported by a large and vibrant ecosystem of major IT solution providers, innovative start-ups, universities and research institutions and individuals that extend support and complement the Eclipse Platform.
"…Opensourcetesting.org aims to boost the profile of open source testing tools within the testing industry, principally by giving users easy access from one central location to the wide range of open source testing tools available. These tools are free as in speech, not free as in beer. While you will not need to pay a vendor to use the tools, they still have a cost of ownership through evaluation, implementation, training and maintenance costs, the same as any software does. But with a handful of commercial vendors dominating the proprietary software testing tools market, make no mistake about it â€“ these tools can make a real difference to your life as a testing professional…"
Maptools is a resource for users and developers in the open source mapping community, and a home to many open source projects. The projects that are hosted here offer essential services including latest downloads, CVS repositories for source code, bug lists, community mailing lists, and project documentation.
G++ and VSIPL++ is a commercial software development environment and toolkit for developing high-performance signal and image-processing applications.
The Open Web Application Security Project (OWASP) is dedicated to finding and fighting the causes of insecure software. Everything here is free and open source. The OWASP Foundation is a 501c3 not-for-profit charitable organization that ensures the ongoing availability and support for our work. Participation in OWASP is free and open to all.
Fast Artificial Neural Network Library is a free open source neural network library, which implements multilayer artificial neural networks in C with support for both fully connected and sparsely connected networks. Cross-platform execution in both fixed and floating point is supported. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast. PHP, C++, .NET, Ada, Python, Delphi, Octave, Ruby, Pure Data and Mathematica bindings are available. A reference manual accompanies the library with examples and recommendations on how to use the library. A graphical user interface is also available for the library. Features include:
Multilayer Artificial Neural Network Library in C.
Back propagation training (RPROP, Quickprop, Batch and Incremental).
Evolving topology training which dynamically builds and trains the ANN (Cascade2).
Easy to use (create, train and run an ANN with just three function calls).
Fast (up to 150 times faster execution than other libraries).
Versatile (possible to adjust many parameters and features on-the-fly).
Cross-platform (configure script for Linux and Unix, dll files for windows, project files for MSVC++ and Borland compilers are also reported to work).
Several different activation functions implemented (including stepwise linear functions for that extra bit of speed).
Easy to save and load entire ANNs.
Can use both floating point and fixed point numbers (actually both float, double and int are available).
Cache optimized (for that extra bit of speed).
Open source (licensed under LGPL).
Framework for easy handling of training data sets.
"…The Lemur Toolkit is designed to facilitate research in language modeling and information retrieval, where IR is broadly interpreted to include such technologies as ad hoc and distributed retrieval, cross-language IR, summarization, filtering, and classification. The toolkit supports indexing of large-scale text databases, the construction of simple language models for documents, queries, or sub collections, and the implementation of retrieval systems based on language models as well as a variety of other retrieval models. The system is written in the C and C++ languages, and is designed as a research system to run under Unix operating systems, although it can also run under Windows. The toolkit is being developed as part of the Lemur Project, a collaboration between the Computer Science Department at the University of Massachusetts and the School of Computer Science at Carnegie Mellon University…"
OGRE is an open source real time 3D rendering engine. OGRE is packed with features to make your development life easier, whether you’re making games, architectural visualization, simulations, or anything else which requires a top-notch 3D rendering solution.
FLTK (pronounced “fulltick”) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK also includes an excellent UI builder called FLUID that can be used to create applications in minutes. FLTK is provided under the terms of the GNU Library Public License, Version 2 with exceptions that allow for static linking
The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities. Browse also other Python libraries
CL-GD is a library for Common Lisp which provides an interface to the GD Graphics Library for the dynamic creation of images. It is based on UFFI and should thus be portable to all CL implementations supported by UFFI. A version which also works with CLISP is available from CLISP (in tgz). Also, beginning from version 0.5.0/0.5.1, CL-GD contains initial code to support CLISP and OpenMCL via CFFI. CL-GD comes with a BSD-style license so you can basically do with it whatever you want
Get Symbian C++ Toolkits/SDKs/Libraries and others for mobile software development of the mobile devices such as hand phones and handhelds. Available for platforms:
Windows Phone SDK: Target the full range of exciting Nokia Lumia smartphones, including the latest: the Nokia Lumia 900 and Nokia Lumia 610, built on Windows Phone from Microsoft.
Qt SDK: Want to develop for the stunning Nokia N9 or the extensive range of Qt-enabled Symbian phones? The Qt SDK delivers you the tools.
Series 40: Build apps for the world's largest mobile platform using using the Nokia SDK for Java and the Nokia Web Tools.
Featured Technologies: Nokia uses a range of additional technologies to provide users with the experience they crave. Featured technologies include Location APIs, NFC, Symbian C++ and others.
The Operating system for smartphones, handheld devices. Most Palm OS applications are written in C, development environments are available that will let you create Palm OS applications in a number of different languages including C, C++, Visual Basic, or Java. Available in commercial and open source versions. Solutions available for:
Solutions for Internet Appliances
Digital Publishing Solutions
Other Technology - IrDa Protocol Stack
Another commercial products. The SMS and Pager Toolkit by ActiveXperts Software is an ActiveX/COM component that provides SMS and Pager messaging functionality. With this Toolkit, you can send and receive SMS messages via a:
SMPP compliant SMSC provider.
Hayes compatible modem.
With this Toolkit, you can also send pager messages via a:
Hayes compatible modem (only numeric paging).
SNPP Provider (alpha-numeric paging).
SMS and Pager Toolkit features the following:
Send alphanumeric text SMS messages.
Send numeric Pager messages.
Send multimedia SMS messages, including ringtones, pictures and logo’s.
Send new voicemail/e-mail/fax indications.
Verify delivery of outgoing SMS message.
Send WAP Push messages and WAP Bookmarks.
Receive SMS messages.
Support for Unicode, to support foreign languages like Chinese, Turkisch, etc.
Support for multi-part messages, to allow messages longer than 160 characters.
Support for GSM modems and GSM phones to send and receive SMS messages.
Support for SMPP (Short Message Peer to Peer) providers for large message volumes.
Support TAP/XIO and UCP dial-in SMSC providers.
Support Windows ‘Phone and Modem devices’ and direct COM ports.
Send numeric Pager messages through DTMF.
Send alpha-numeric Pager messages through SNPP.
Support Multi-threading environments. The component is thread-safe, which means it can be used in a multi-threaded environment.
Troubleshooting facilities by tracing all modem commands and responses.
Samples included for various development platforms: Visual Basic, Visual Basic .NET, Visual C++, Visual C# .NET, ASP, ASP .NET, Delphi and more
UCCDraw ActiveX Control V9.80 – UCCDraw is an ActiveX Component that enables you to build Visio-style charts from within your application. Another product is XD++ MFC Library Professional Edition – XD++ Library for MFC by UCanCode.Net Software, an MFC extension library for graphs, diagrams and networks, allows developers to add drag and drop graphical user interfaces to their windows applications. It incorporates custom graphical objects and enhanced drawing capabilities into your applications within a few minutes. Complete source code for the library (Over 260+ classes) and all sample projects are included with the retail version of the XD++. You can freely distribute any application that uses the XD++ MFC Library without worry use of the XD++ is royalty free. After your purchase no additional fees are required, you can use the library indefinitely. These products are commercial.
This is a commercial product. Oracle Class Library (OCL) provides native connectivity to the Oracle database server. OCL uses Oracle Call Interface (OCI) directly. OCI is low-level native application programming interface to access to Oracle. Using OCI in Oracle Class Library allows creating lightweight and fast applications working with Oracle. Oracle Class Library encapsulates OCI calls in high-level classes that allow hiding the complexity of using OCI directly and keeping performance and all abilities of native routines. With OCL you can use the power and flexibility of SQL in your application programs without any restrictions. OCL contains classes to control connection, execute SQL statements, store and process result rows of queries and some common classes useful for developing database applications. All classes have intuitive, easy to use interface. OCL is written with ANSI C++ and uses Standard C++ Library only that allows you to port your application easily to another platform. Oracle Class Library provides easiness in using from Pro*C/C++ and power of Oracle Call Interface. OCL supports Oracle 11g, 10g, 9i, 8i, 8.0 and 7.3, including Personal and Lite. OCL includes library for Windows and Linux compatible with following compilers:
Microsoft Visual C++ 7.1, 7.0, Visual C++ 2005 and Visual Studio 2008
Microsoft Visual C++ 6.0
Borland C++ Builder 6
Borland C++ Builder 5
Borland Kylix 3 for C++
GNU C++ compiler for Linux version 2.96
Don't forget also to browse the site for other libraries/tools.
These libraries form the core basic toolset for developing powerful CGI applications in C++. These libraries were developed to be extremely simple to use, but powerful enough to provide the extra control that C++ programmers crave. Although primarily developed for Linux systems, each has been ported to Windows, with support for Visual C++ and Borland development environments. These libraries have recently been converted to open source and are now freely available under the GPL (Gnu Public License), commercial licenses are also available upon request for a small fee. Those libraries include C++ CGI parser library, C++ config file library, C++ socket library, C++ database library and C++ Session Library.
"…CodeCogs is for technical developers who need efficient solutions in computing, mathematics, physics, statistics, engineering and finance. Its vision is to encourage code reuse by creating an open source software database, into which anyone can contribute their code on their terms. CodeCogs is a non-profit organization, with all revenue used to pay for the growth of this library..."
This is a C++ implementation of most known high-performance associative neural networks models, including those based on sparse architectures and pseudo-inverse learning. Read more about the Library. Critical examples include PINN memory for Perceptual Vision Systems and Face Recognition in Video.
Metakit is an efficient embedded database library with a small footprint. It fills the gap between flat-file, relational, object-oriented, and tree-structured databases, supporting relational joins, serialization, nested structures, and instant schema evolution. There is a C++ API, a Python binding called Mk4py, and a Tcl binding called Mk4tcl. You can manipulate and exchange data between any of these. Data files are portable. The library has been used on Unix, Windows, Macintosh, VMS, and others, spanning a range of 16- to 64-bit architectures, from PDA’s to S390′s. This library is in active use in various commercial projects and products on millions of desktops. Don’t forget to browse other kits as well…
This project deals with network communication by means of blocking (synchronous) sockets or with limited non-blocking mode. This project not using asynchronous sockets. The Project contains simple low level non-visual objects for easiest programming without problems (no need multithread synchronization, no need for windows message processing…) Great for command line utilities, visual projects, NT services… You can find more after reading about and features. This project is freeware and open source under modified BSD style license.
The SYNAPSE library aims to create a complete library of classes and functions that would markedly simplify application programming of network communication using Winsock. At first glance this effort might seem needless as there are many free components covering this area, however they mostly use asynchronous methods while SYNAPSE library operates in a synchronous method.
Synchronous mode (called ‘blocking’ in Winsock terminology) features acting thread waits until the needed operation terminates. Thus when we want to send data, the program exits function only after data is sent – or – if we want to receive data, the program exits the function only after the desired data is received. Thus, much more crisp and simple programming is achieved. You will feel it when trying to implement any Internet protocol, which is typically based on ‘send-wait for reply’ method. If you want to implement it in an asynchronous method, you would have to accept complicated event processing and synchronous mode simulation. Therefore a synchronous socket is simple and natural for the majority programming tasks. The whole library is oriented on the WIN32 environment or Linux environment, so you will need Delphi 3.0 or higher and Kylix 1.0 or higher to use it
"...DataReel Open Source – A cross-platform database and communications toolkit. Datareel is a comprehensive cross-platform C++ development kit used to build multi-threaded database and communication applications. C++ is a programming language that produces fast executing compiled programs and offers very powerful programming capabilities. Unlike interpreted languages such as JAVA and PERL the C++ language by itself does not contain built-in programming interfaces for database, communications, and multi-threaded programming. By using DataReel you can extend the power of the C++ programming language by using high-level programming interfaces for database, communications, and multi-threaded programming..."
Sound Processing Kit is an object-oriented class library for audio signal processing. Sound Processing Kit (abbreviated as SPKit) includes classes for various signal processing tasks, but most importantly, it introduces a way of implementing sound processing algorithms in a simple object-oriented manner. Sound Processing Kit is implemented in C++.
SPKit is designed to be portable. The current version requires a bare-bones C++ 2.0 compatible compiler (templates and exceptions are not needed). ANSI C standard libraries are required. The source code should compile with little or no modification on most UNIX compatible platforms.
There are three versions of the SPKit class library: a “generic” version, a libaudiofile version, and an SGI version. The generic version is the most portable one and does not require extra libraries audio file I/O. On the other hand, the number of supported sound file formats is very limited. The libaudiofile version requires the Audio File Library system for file I/O. Audio File Library is with many Linux distributions and has been ported to other operating systems as well. The home page of Audio File Library is at audio files. The SGI version is written specifically for the SGI/IRIX system.
The C++ Free Signal and Image Processing Library is a free collection of general-purpose, optimized C++ routines and classes for signal and image processing along with utility classes to aid image and video file manipulation. These routines are typically used in computationally intensive real-time applications, where optimal execution speed is critical. The library also provides efficient implementations for the most common data types used in signal and image processing applications. Function Categories in the Library include:
Pointwise operations – Pointwise transformation, normalization and thresholding.
Spectral processing – Spectral processing based on the Fast Fourier Transform (FFT) and inverse FFT.
Linear filtering – Convolution, correlation, FIR and IIR filtering.
Nonlinear filtering – Minimum, maximum, median, alpha trimmed mean, OS filtering.
Binary morphology – Erosion, dilation, opening, closing, hit-and-miss, convex hull, skeleton, hole filling, pruning, thickening, thinning, object reconstruction, object shifting.
Grayscale morphology – Grayscale erosion, dilation, top-hat and h-dome transformation with arbitrary structuring elements.
Pattern matching – Binary and gray-scale pattern matching with displacement calculation.
Histogram analysis – Image histogram calculation, equalization, and statistical analysis.
Feature detection – Object sorting, Sobel and Canny type edge detection.
Feature extraction – Binary image indexing; area, major axis, minor axis, eccentricity, equivalent diameter, orientation, extension, centorid, bounding box and extrema calculation.
Statistical analysis – Calculation of sum, min, max, mean, avg, rms, h-mean, skew, etc
Dew Research brings developers these fine RAD (Rapid Application Development) tools that speed up custom software application development many scientific and engineering fields. The Borland and Microsoft platforms are fast and powerful tools for basic application software development and when you integrate their math library components, you achieve even shorter custom application development cycle times. If you are engaged in the development of object oriented software, see their numerical library components for Borland C++ Builder and Microsoft Visual Studio. And for Microsoft Office application development, Excel spreadsheets can perform advanced mathematical functions when using their fast library components with Visual Studio. The libraries include mathematics, statistical analysis, digital signal processing and artificial intelligence. Browse also other C++ library packages such as Builder C++ libraries package as listed below. Embarcadero Delphi Products - The products available include:
MtxVec, a comprehensive mathematics library with LAPACK support
Stats Master, an add-on package for statistical analysis
DSP Master, an add-on package for digital signal processing
Data Miner, a separate library for automatic classification (artificial intelligence)
Dew Lab Studio is a set of all the above products and comes at a special discounted price, with optional TeeChart charting library by Steema
All products support W32 and DotNet application development.
Embarcadero C++ Builder - For developing large-scale computer software, object-oriented C++ is the standard tool, and Borland C++ Builder is an excellent development platform. Our products include:
MtxVec, a comprehensive mathematics library with LAPACK support
Stats Master an add-on package for statistical analysis
DSP Master an add-on package for digital signal processing
Data Miner is a separate library for automatic classification (artificial intelligence)
Dew Lab Studio is a set of all the above products and comes at a special discounted price with optional TeeChart charting library by Steema
Microsoft Visual Studio - Take advantage of Visual Studio integrated tools and languages, and add our components to boost calculation performance:
Dew Math Library is a comprehensive mathematics library with LAPACK support for MS VS.NET
Stats Master, an add-on library for statistical analysis
DSP Master, an add-on library for digital signal processing
Chart component for windows and web applications. The general features include comprehensive chart styles, financial library with source code, meters and gauges, flexible axis system, markup text support, advanced color system, AJAX enabled user interactions etc. This is a commercial product.
OptiVec is a complete, hand-optimized set of libraries with over 3500 vector and matrix functions, and complex-number math routines. It contains the fully vectorized forms of all operators and math functions of C/C++/Pascal/Delphi for all integer and floating-point (including complex) data types, plus many other real and complex math functions and routines for statistics, analysis, FFT techniques, curve fitting, interpolations, vector and matrix algebra, matrix decomposition, and graphics. In parts, OptiVec overlaps with the well-known BLAS and LINPACK libraries, but features an easier nomenclature and a generally more efficient implementation. It consists of three groups of functions:
VectorLib – Vector functions.
MatrixLib – Matrix functions.
CMATH – Complex number math functions (also available separately).
The OptiVec libraries are static, no DLLs. This means only those functions which you actually need are linked into your application. Of course, you are free to include OptiVec functions in your DLLs, but there is no need to deal with yet another set of DLLs when you distribute your applications. Once you purchase the Commercial Edition of OptiVec, you can freely distribute applications containing OptiVec functions. No run-time licenses needed for your customers. An Educational Edition is available at a strongly reduced fee for non-commercial use. The target Compilers include:
Embarcadero (former Borland and CodeGear) C/C++ compiler series (RAD Studio, Borland Development Suite, BC++ Builder 1-6, BC++ 4.0 or higher, Turbo C++)
Microsoft Visual C++ (5, 6, up to Visual Studio 2010).
Borland Delphi (4 through 7, 2005, 2006, 2007, 2009, 2010, XE, XE2, Turbo Delphi, RAD Studio).
This is a list of the image processing products that can be used with Visual C++ compiler. Contains dozen of products (libraries) that can be installed as Visual C++ libraries, .Net components, DLL and ActiveX.
VSIPL stands for the Vector Signal Image Processing Library. It is an application programming interface (API) defined by an open standard developed by embedded signal and image processing hardware and software vendors, academia, application developers, and government labs. A number of hardware and software vendors have developed VSIPL products, and it is being increasingly used by developers who desire a highly efficient and portable computational middleware for signal and image processing applications. There is VSIPL Forum meetings are now being held quarterly, in conjunction with the HPEC-SI program development working group. The combined group has developed and approved VSIPL++ v1.0, an object-oriented C++ binding for VSIPL, and is developing Parallel VSIPL++.
VIGRA stands for “Vision with Generic Algorithms”. It’s a computer vision library that puts its main emphasize on customizable algorithms and data structures. By using template techniques similar to those in the C++ Standard Template Library (STL), you can easily adapt any VIGRA component to the needs of your application, without thereby giving up execution speed. VIGRA is subject to a license which is identical to the MIT X11 License and thus compatible to the GPL. The features include: Mathematical Tools, Image Analysis, Segmentation, Filters and Image Processing
Victor Image Processing Library is a collection of functions that allow you to create image applications. Victor gives your programs powerful image processing, display, and file handling capabilities. The Victor package includes the library with complete documentation consisting of a User’s Guide and Library Reference. Each function is fully explained and its use is illustrated by examples. Victor also includes a complete image processing program that you can recreate and modify to fit your product needs. This is a commercial product
NetStream is simple network library for client-server communication over TCP/IP. It’s written in C++ and should run on GNU/Linux (maybe any other POSIX System), and MS Windows. This library was created as part of KIV/UPS course work. You can download the source code
Gosu is a 2D game development library for the Ruby and C++ programming languages. Available for Mac OS X, Windows and Linux. The C++ version is also available for iPad, iPhone and iPod Touch. Gosu features easy to use interfaces to:
Hardware accelerated 2D graphics.
Sound samples and music in all formats supported by FMOD.
Keyboard, mouse and gamepad/joystick input
TA-Lib provides common functions for the technical analysis of stock, future and commodity market data. Widely used by trading software developers working with Excel, .NET, Java, Perl, Python or C/C++. For the BSD License, it can be used freely in open-source or commercial software (click here for details). Brief features include:
More than 125 technical analysis indicators such as ADX, MACD, RSI, Stochastic, Bollinger Bands etc.
Includes candlestick pattern recognition.
Optional abstract API allowing your code to adapt automatically when new functions are added
Qt sdk is for high-performance, cross-platform application development. It includes a C++ class library and tools for cross-platform development and internationalization. Available in commercial and open source versions.
Raknet is a cross platform C++ network library designed to allow programmers to add response time-critical network capabilities to their applications. It is mostly used for games, but is application independent. It runs on Windows, Linux, Macs, and consoles. It has been built on Visual Studio, GCC, Code Blocks, DevCPP and others
The Torque Network Library is a robust, secure, easy to use, cross-platform C++ networking API designed for high performance simulations and games. The network architecture in TNL has powered some of the best internet multiplayer action games to date. Whether you’re writing a multiplayer game, developing a complex simulation, or just need a solid foundation for network apps, TNL will meet your needs. TNL is available under the GNU General Public License (GPL), an indie license, and a commercial license
Gameswf (pronounced “game swiff”) is an open source Public Domain library for parsing and rendering SWF movies, using 3D hardware APIs for rendering. It is designed to be used as a UI library for computer and console games. It is written in C++, and compiles under Windows, Mac OSX and Linux, using GCC and MSVC. It includes code for rendering with OpenGL. The rendering module is factored out so that you can port to other APIs. It is currently being maintained as on SourceForge. The biggest benefit of using SWF as a file format for game UIs is the availability of high quality authoring tools (like Macromedia Flash MX) and the large number of talented designers who have expertise with these tools. The SWF format is not perfectly suited for game UIs, but it’s not bad, and my hope is that gameswf will help improve the quality of game UIs while reducing the effort that goes into making them
Gapidraw is a graphics SDKs for handheld computers and smart phone. It is the graphics platform to use when creating applications with high demands for fast 2D graphics on mobile devices. The GapiDraw platform supports the creation of high-performance cross-platform graphical applications across a variety of handheld hardware configurations, including Windows Mobile devices and Symbian mobile phones
Mathtools C & C++ graphics and visualization libraries directory that mostly used in engineering. Don't forget to browse other C & C++ libraries and components arranged alphabetically.
Allegro is a game programming library for C/C++ developers distributed freely, supporting the following platforms: DOS, Unix (Linux, FreeBSD, Irix, Solaris and Darwin), Windows, QNX, BeOS and MacOS X. It provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed data file and a GUI.
Fastgraph is a programmer’s graphics library featuring a comprehensive suite of more than 300 functions for tasks such as 2D and 3D graphics, color and palette management, bitmap display and manipulation, image files, and much more. It is easy to use, small, quick, well-documented, and compatible with most compilers and other programming toolkits. Versions are available for Windows, Windows CE, and DOS. This is a commercial product
Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL (OpenGL is a trademark of Silicon Graphics Incorporated). To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc. (SGI). However, the author does not possess an OpenGL license from SGI, and makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with SGI. The Mesa distribution consists of several components. Different copyrights and licenses apply to different components. Those who want a licensed implementation of OpenGL should contact a licensed vendor
GizmoSDK provides a top quality software development kit used by software engineers at Saab Training Systems AB. It can be used in a variety of demanding application development projects. The SDK will give you a set of components that are uniform and well integrated in an open architecture. You will be able to develop advanced software in a short time and produce robust and high quality code, as the components are thoroughly tested and verified in their product test line and by their customers. GizmoSDK simplifies large team development projects and supports process methodology standards. GizmoSDK is platform independent and integrates with various GUI subsystems. This is a commercial product
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bĕzier curves. It is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite language. The interfaces available are: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), L-Magick (Lisp), NMagick (Neko/haXe), MagickNet (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images dynamically and automagically.
DISLIN is a high-level plotting library for displaying data as curves, polar plots, bar graphs, pie charts, 3D-color plots, surfaces, contours and maps. DISLIN is intended to be a powerful and easy to use software package for scientists and programmers. There are only a few graphics routines with a short parameter list needed to display the desired graphical output. A large variety of parameter setting routines can then be called to create individually customized graphics. The software is available for several C, Fortran 77 and Fortran 90/95 compilers on the operating systems UNIX, Linux, FreeBSD, OpenVMS, Windows and MS-DOS. DISLIN programs are very system-independent; they can be ported from one operating system to another without any changes. DISLIN is free for non-commercial use. Licenses for selling programs linked with DISLIN or for using DISLIN in an environment related to business are available from this site
Matpack is a C++ numeric and graphics library implementing methods that are needed in a scientist’s or engineer’s everyday life. All methods and tools are implemented in native C++ using a modern object oriented style without sacrificing the performance. It is released under GPL
"…DaVinci is a set of Windows DLLs and OCXs and designed both for 16 and 32 bit development and for exploiting the enhanced image manipulation capabilities built into 32 bit Windows operating systems. This package has been in constant development and maintenance since 1993 and is compatible with Windows 3.1, 3.11, 95, 98 NT 3.51, NT 4.0, 2000 and XP…"
The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modeling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems.
QuantLib is a C++ library for financial quantitative analysts and developers. It is written in C++ with a clean object model, and is then exported to different languages such as C#, Objective Caml, Java, Perl, Python, GNU R, Ruby, and Scheme. The QuantLibAddin/QuantLibXL project uses ObjectHandler to export an object-oriented QuantLib interface to a variety of end-user platforms including Microsoft Excel and OpenOffice.org Calc. Bindings to other languages and porting to Gnumeric, Matlab/Octave, S-PLUS/R, Mathematica, COM/CORBA/SOAP architectures, FpML, are under consideration. See the extensions page for details. The library could be exploited across different research and regulatory institutions, banks, software companies, and so on. Being a free/open-source project, quants contributing to the library would not need to start from scratch every time. It is Non-Copylefted Free Software released under the modified BSD License. It is also OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative. QuantLib is free software and you are allowed to use, copy, modify, merge, publish, distribute, and/or sell copies of it under the conditions stated in the QuantLib License
"…MLC++ is a library of C++ classes for supervised machine learning. The MLC++ utilities were created using the library. MLC++ (up to version 1.3.X) was developed at Stanford University and was public domain; that version is still distributed as such by SGI. SGI MLC++ (V2.0 and higher) includes improvements to MLC++. These improvements are research domain only and are available in both source and object code formats through this web site. SGI MLC++ is used in SGI’s MineSet product as the main engine for the server data mining. MLC++ provides general machine learning algorithms that can be used by end users, analysts, professionals, and researchers. The main objective is to provide users with a wide variety of tools that can help mine data, accelerate development of new mining algorithms, increase software reliability, provide comparison tools, and display information visually. More than just a collection of existing algorithms, MLC++ is an attempt to extract commonalities of machine learning algorithms and decompose them for a unified view that is simple, coherent, and extensible…"
SQLAPI++ is a C++ library for accessing multiple SQL databases such as Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL and ODBC. It uses native APIs of target DBMS so applications developed with SQLAPI++ library run swiftly and efficiently. The product also provides a low-level interface that allows developers to access database-specific features. By encapsulating a vendor’s API, SQLAPI++ library acts as middleware and delivers database portability.
"…GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational and floating point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface. The main target applications for GMP are cryptography applications and research, Internet security applications, algebra systems, computational algebra research, etc. GMP is carefully designed to be as fast as possible, both for small operands and for huge operands. The speed is achieved by using full words as the basic arithmetic type, by using fast algorithms, with highly optimized assembly code for the most common inner loops for a lot of CPUs, and by a general emphasis on speed. GMP is faster than any other bignum library. The advantage for GMP increases with the operand sizes for many operations, since GMP uses asymptotically faster algorithms. The first GMP release was made in 1991. It is continually developed and maintained, with a new release about once a year. GMP is distributed under the GNU LGPL. This license makes the library free to use, share, and improve, and allows you to pass on the result. The license gives freedoms, but also sets firm restrictions on the use with non-free programs. GMP is part of the GNU project…"
The MPFR library is a C library for multiple-precision floating-point computations with exact rounding (also called correct rounding). It is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has a well-defined semantics. It copies the good ideas from the ANSI/IEEE-754 standard for double-precision floating-point arithmetic (53-bit mantissa). MPFR is free. It is distributed under the GNU Lesser General Public License (GNU Lesser GPL). The library has been registered in France by the Agence de Protection des Programmes which guarantees your freedom to share and change MPFR, to make sure MPFR is free for all its users. Unlike the ordinary General Public License, the Lesser GPL enables developers of non-free programs to use MPFR in their programs. Here, you can also find other related and free software as listed below.
MAPM, a portable arbitrary precision math library in C, by Michael C. Ring.
CoStLy, a Complex interval Standard functions Library developed by Markus Neher (Karlsruhe).
The XSC-Languages, FI_LIB, FILIB++ and intpak software developed at University of Wuppertal (Germany).
The Core library: a library for robust numerical and geometric computation.
The CLN C++ library (GPL).
The Quad-Double package by David Bailey, Yozo Hida and Sherry Li.
The numerical difference utility from Nelson Beebe, similar to diff but for numerical files.
The mpmath Python library for arbitrary-precision floating-point arithmetic.
The fastfunlib library (fast multiprecision transcendental functions).
The Constructive Reals Calculator from Hans Boehm.
The xrc - exact reals in C from Keith Briggs.
The precise computation software from Oliver Aberth.
RR class from
which implements a
smooth extension of IEEE floating
point to arbitrary precision and guarantees a platform-independent behaviour.
A continued-fraction package based on GMP, by François Balsalobre.
SCSLib, a fast and lightweight multiple-precision library supporting the four arithmetic operations, developed in the Arénaire project; the precision (210 bits by default) is fixed at compile time. CRlibm, a correctly-rounded elementary function library.
Sun's libmcr, a correctly-rounded library of basic double-precision transcendental elementary functions.
The PreciseFloating (floating-point arithmetic library) project in Java, by Daniel Aioanei: directed rounding, rational arithmetic and arbitrary precision arithmetic based on regular continued fraction expansions.
The decNumber package by Mike Cowlishaw (IBM): arbitrary-precision decimal arithmetic.
The calc calculator by Landon Curt Noll. This calculator implements a rational arithmetic, with a fallback to some kind of multiple-precision fixed-point arithmetic (integer multiplied by a configurable epsilon).
The MPACK by Nakata Maho: multiple precision arithmetic BLAS and LAPACK.
The MathCW mathematical function library (supporting binary and decimal floating-point arithmetic) by Nelson H. F. Beebe.
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system. ALSA is released under the GPL (GNU General Public license) and the LGPL (GNU Lesser General Public License). ALSA has the following significant features:
Efficient support for all types of audio interfaces, from consumer soundcards to professional multichannel audio interfaces.
Fully modularized sound drivers.
SMP and thread-safe design.
User space library (alsa-lib) to simplify application programming and provide higher level functionality.
Support for the older OSS (Open Source Software) API, providing binary compatibility for most OSS programs
IP2Location is a C library that enables the user to find the country, region, city, coordinates, zip code, ISP and domain name that any IP address or hostname originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location, binary databases for applications written in C or supporting static/dynamic library. The license is restricted.
Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video frame buffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of “Civilization: Call To Power”. SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for Amiga OS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, Symbian OS, and OS/2, but these are not officially supported. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk. SDL is distributed under GNU LGPL version 2. This license allows you to use SDL freely in commercial programs as long as you link with the dynamic library
This is a C/C++ library for homography estimation that is distributed under the GNU General Public License (GPL). A homography (sometimes also called a collineation) is a general plane to plane projective transformation whose estimation from matched image features is often necessary in several vision tasks. A homography has eight degrees of freedom and is represented by a non-singular homogeneous 3×3 matrix. homest implements a technique for non-linear, robust homography estimation from matched image point features. This technique computes a homography estimate that minimizes an appropriate cost function defined on matching points (either symmetric transfer error or Sampson error) and includes robust regression techniques for coping with outliers. To compile, homest requires the levmar Levenberg-Marquardt non-linear least squares package and LAPACK
Libpq is the C application programmer’s interface to PostgreSQL. Libpq is a set of library functions that allow client programs to pass queries to the PostgreSQL backend server and to receive the results of these queries. Libpq is also the underlying engine for several other PostgreSQL application interfaces, including those written for C++, Perl, Python, Tcl and ECPG
MIRACL – Multiprecision Integer and Rational Arithmetic C/C++ Library is a Big Number Library which implements all of the primitives necessary to design Big Number Cryptography into your real-world application. It is primarily a tool for cryptographic system implementers. RSA public key cryptography, Diffie-Hellman Key exchange, DSA digital signature, they are all just a few procedure calls away. Support is also included for even more esoteric Elliptic Curves and Lucas function based schemes. The latest version offers full support for Elliptic Curve Cryptography over GF(p) and GF(2m). Less well-known techniques can also be implemented as MIRACL allows you to work directly and efficiently with the big numbers that are the building blocks of number-theoretic cryptography. Although implemented as a C library, a well-thought out C++ wrapper is provided, which greatly simplifies program development. Most example programs (25+ of them) are provided in both C and C++ versions. The latest version also implements the new Advanced Encryption Standard (AES), Modes of Operation, and the new hashing standards SHA-160/256/384/512. MIRACL is compact, fast and efficient and easier than ever to get the same near-optimal performance from any processor. Although essentially a portable library, inline assembly and special techniques can be invoked for blistering speed. MIRACL has also been successfully used in both embedded and DSP environments where space is at a premium. A new special purpose macro assembler feature facilitates the achievement of best possible performance from your embedded processor (embedded – .doc document). MIRACL is, to an extent, self-configuring. Use your compiler to compile and run a simple configuration program, which proceeds with user interaction to generate optimal settings for your environment. Unlike other Cryptographic libraries, MIRACL does not merely provide an opaque interface to a predetermined set of Cryptographic methods, but rather a set of tools that enable any new number-theoretic technique to be implemented quickly, so that the end-user is, for example, free to design their own Cryptographic API. It is particularly appropriate (and free) for educational use.
SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:
Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
Zero-configuration – no setup or administration needed.
Implements most of SQL92 standard.
A complete database is stored in a single disk file.
Database files can be freely shared between machines with different byte orders.
Supports databases up to 2 terabytes (241 bytes) in size.
Sizes of strings and BLOBs limited only by available memory.
Small code footprint: less than 250KiB fully configured or less than 150KiB with optional features omitted.
Faster than popular client/server database engines for most common operations.
Simple, easy to use API.
Well-commented source code with over 95% test coverage.
Self-contained: no external dependencies.
Sources are in the public domain. Use for any purpose.
The SQLite distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library.
The package ADOL-C facilitates the evaluation of first and higher derivatives of vector functions that are defined by computer programs written in C or C++. The resulting derivative evaluation routines may be called from C/C++, Fortran, or any other language that can be linked with C. The numerical values of derivative vectors are obtained free of truncation errors at a small multiple of the run time and randomly accessed memory of the given function evaluation program. ADOL-C is available free of charge provided under the terms of the Common Public License
This is a commercial product. The IMSL C Numerical Library provides advanced mathematical and statistical functionality for programmers to embed in applications that are written in one of the most important mainstream programming environments in use today, the C/C++. A typical application areas for this library include:
Portfolio optimization in financial services.
Risk management in financial services.
Inventory management and demand forecasting.
Modeling and simulation in high performance computing.
Computational biology analysis and modeling.
ISVs embedding mathematical engines into their software offerings.
The open source GeoIP C API includes a free GeoLite Country database. The code is licensed under the LGPL. This API should work on most UNIX and GNU/Linux platforms. A free GeoLite City database is also available. A FreeBSD Port is available from FreeBSD.org. Also work on Windows platform
CLAM is a full-fledged software framework for research and application development in the Audio and Music domain. It offers a conceptual model as well as tools for the analysis, synthesis and transformation of audio signals. If you are interested in learning more about CLAM you should visit the documentation section in this same website and read any of the articles or presentations listed there
Find C/C++ libraries that can be used in robot control programs at DMOZ open directory and in Google
LiDIA is a C++ library for computational number theory which provides a collection of highly optimized implementations of various multiprecision data types and time-intensive algorithms. LiDIA is developed by the LiDIA Group at the Darmstadt University of Technology. LiDIA is free for non-commercial purposes (license) and comes with the full source code. The current release of LiDIA contains the following components:
Arithmetic Interfaces to cln, gmp, libI, piologie.
Basic arithmetic over Z, Q, R, C, interval arithmetic, GF(2n), GF(pn).
Factorization: Integer Factorization (Trial Division, Elliptic Curve Method, Self-Initializing Multipolynomial Quadratic Sieve with Lanczos algorithm), Factorization of Polynomials over finite fields (V. Shoup’s algorithms), Factoring ideals of algebraic number fields.
Lattice Basis Reduction: various versions of LLL/MLLL (Schnorr-Euchner, Benne de Weger).
over Z: basic operations, normal forms of matrices (G. Havas algorithms)
Number Fields: Quadratic Number Fields including a new implementation of Buchmann’s sub exponential algorithm for computing classgroups using mpqs techniques, Higher-Degree Number Fields arithmetic and maximal order.
Polynomials: template classes for univariate polynomials with special algorithms for different domains.
Elliptic Curves: elliptic curves over the rational and over finite fields (includes code written by J.Cremona and N. Smart). There is also a package for counting points on elliptic curves as well as a package for generating cryptographically strong curves.
Primality Proofing: Besides the standard probabilistic primality tests in the base package there is a new elliptic curve based primality proofer in the GEC package.
Other Generic Data Types: vectors, matrices, power series, and hash tables implemented as templates
Other related and useful libraries in other languages are listed below:
GD library is an open source code C library for the dynamic creation of images by programmers. GD is written in C, and “wrappers” are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve web site development
"…FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). They believe that FFTW, which is free software, should become the FFT library of choice for most applications. The benchmarks, performed on a variety of platforms, show that FFTW’s performance is typically superior to that of other publicly available FFT software, and is even competitive with vendor-tuned codes. In contrast to vendor-tuned codes, however, FFTW’s performance is portable: the same program will perform well on most architecture without modification. Hence the name, “FFTW,” which stands for the somewhat whimsical title of “Fastest Fourier Transform in the West”. The FFTW package was developed at MIT by Matteo Frigo and Steven G. Johnson..."
Libxslt is the XSLT C library developed for the GNOME project. XSLT itself is an XML language to define transformation for XML. Libxslt is based on libxml2 the XML C library developed for the GNOME project. It also implements most of the EXSLT set of processor-portable extensions functions and some of Saxon’s evaluate and expressions extensions. People can either embed the library in their application or use xsltproc the command line processing tool. This library is free software and can be reused in commercial applications
Crypto++ Library is a free C++ class library of cryptographic schemes. One purpose of Crypto++ is to act as a repository of public domain (not copyrighted) source code. Although the library is copyrighted as a compilation, the individual files in it (except for a few exceptions listed in the license) are in the public domain. Currently the library consists of the dozen to do’s, some of which are other people’s code, repackaged into classes.
GAlib contains a set of C++ genetic algorithm objects. The library includes tools for using genetic algorithms to do optimization in any C++ program using any representation and genetic operators. The documentation includes an extensive overview of how to implement a genetic algorithm as well as examples illustrating customizations to the GAlib classes. GAlib is free. It is distributed under a BSD-style license. It has been built on many platforms with many compilers. GAlib includes examples that use PVM for distributed, parallel implementations. GAlib includes graphic examples that use the Athena or Motif widget sets, or MFC.
VGUI is a free, multiple platform C++ graphical user interface framework designed to make it the easiest way to write C++ GUI applications available – commercial, shareware, or freeware. V is available for X Athena, X Motif/Lesstif, all Windows platforms. The V IDE for GNU g++, Borland BCC 5.5, and Java is an Integrated Development Environment developed using V. It works with the GNU g++ compiler and Sun’s JDK for Java. It is available in executable form for MS-Windows and Intel Linux platforms. The VIDE executable is totally freeware, and the source is available under the GNU GPL as part of the V GUI Framework.
Claimed to be the largest commercially available collection of numerical algorithms for C. It is a collection of mathematical and statistical algorithms for C and C++ programmers. Containing over 1000 functions covering a wide range of mathematical and statistical areas, available on a wide range of systems commonly used for technical computing.
CGIC is ANSI C library for the traditional, native CGI Programming.
Provides open source and commercial C++ libraries and components providers that include:
HTTP client component.
MHT – Convert HTML and web pages to email, or create .MHT files.
MIME and S/MIME components/library.
Character set encoding conversion.
ASP EMAIL Components.
PFX – Import certificates and private keys from PFX files.
BOUNCE – Recognize bounced emails and extract email addresses. Classifies email into 13 bounce types.
BLACKLIST – Parse, unobfuscate, and extract domain names from email.
Another open source small directory. Browse some of the products that already used extensively in your computer system and the internet domain.
Programming Tools: Perl, Zope, and PHP, are popular engines used in the dynamic web content on the World Wide Web. Powerful High Level Languages such as Python, Ruby, and Tcl/Tk owe much of their success and prevalence to the active community of developers that use them and continue their development and the GNU compilers and tools (GCC, Make, Autoconf, and Automake, and others) and you will find that almost all open source projects use them as their primary development tools.
"…Claimed to be most widely used graphics standard. It is an environment for developing portable, interactive 2D and 3D graphics applications. OpenGL has become the industry’s most widely used and supported 2D and 3D graphics application programming interface (API), bringing thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers can leverage the power of OpenGL across all popular desktop and workstation platforms, ensuring wide application deployment…
The OpenGL API (Application Programming Interface) began as an initiative by SGI to create a single, vendor-independent API for the development of 2D and 3D graphics applications. Prior to the introduction of OpenGL, many hardware vendors had different graphics libraries. This situation made it expensive for software developers to support versions of their applications on multiple hardware platforms, and it made porting of applications from one hardware platform to another very time-consuming and difficult. SGI saw the lack of a standard graphics API as an inhibitor to the growth of the 3D marketplace and decided to lead an industry group in creating such a standard…
…Leading software developers use OpenGL, with its robust rendering libraries, as the 2D/3D graphics foundation for higher-level APIs. Developers leverage the capabilities of OpenGL to deliver highly differentiated, yet widely supported vertical market solutions. For example, Open Inventor provides a cross-platform user interface and flexible scene graph that makes it easy to create OpenGL applications. IRIS Performer leverages OpenGL functionality and delivers additional features tailored for the demanding high frame rate markets such as visual simulation and virtual sets. OpenGL Optimizer is a toolkit for real-time interaction, modification, and rendering of complex surface-based models such as those found in CAD/CAM and special effects creation. OpenGL Volumizer is a high-level immediate mode volume rendering API for the energy, medical and sciences markets. OpenGL Shader provides a common interface to support realistic visual effects, bump mapping, multiple textures, environment maps, volume shading and an unlimited array of new effects using hardware acceleration on standard OpenGL graphics cards…
… OpenGL is the pervasive standard for 3D consumer and professional applications across all major OS platforms. A partial list for Window, Linux and MacOS are available in the products section..."
A directory that contains thousand sounds and the related software for Linux system.
Search open source packages based on the RPM (RPM Package Manager – originally called “Red Hat Package Manager”).
Another open source software/projects/libraries hosted at GNU.org.
Launchpad is a collection of services for products in the open source world. Browse all the open source product collection.
This is a companion site of the savannah.gnu.org that also host Free Software projects that are not part of the GNU Project, but run on free platforms. Browse all the savannah non gnu projects listing.
This is another central point for the GNU Software development, distribution and maintenance. Browse all the savannah gnu projects listing.
The Free Software Foundation directory is a project of the Free Software Foundation (FSF) and United Nations Education, Scientific and Cultural Organization (UNESCO). They catalog useful free software that runs under free operating systems – particularly the GNU operating system and its GNU/Linux variants.
Browse the C libraries directory that mostly used in GNU/Linux and its variants.
Browse the C++ libraries directory that mostly used in GNU/Linux and its variants.
Browse all the GNU packages directory that used in GNU/Linux and its variants.
Claimed to be the world’s largest Open Source software development web site hosting. Currently hosting more than 100,000 projects and with over 1,000,000 registered users with a centralized resource for managing those projects and code. It has the largest repository of open source code and applications available on the Internet. SourceForge.net is owned by OSTG, Inc. (“Open Source Technology Group”). Use the search feature to search the related projects and C/C++ libraries as well
Understand for C++ is a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing “smart” editor, and a variety of graphical reverse engineering views. Understand for C++ is an interactive development environment (IDE) designed to help maintain and understand large amounts of legacy or newly created C and C++ source code. This is a commercial product
SCons is an Open Source software construction tool that is a build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software
GNU Common C++ is a portable and highly optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, serialization, config files, thread-optimized String and data structure classes, etc. This framework offers a class foundation that hides platform differences from your C++ application so that you need not write platform specific code. GNU Common C++ has been ported to compile natively on most platforms which support either POSIX threads, or on Microsoft Windows. GNU Common C++ can also be used to construct embedded applications as part of GNU Telephony Open Embedded. This framework is used to construct application services like GNU Bayonne, as well as part of additional libraries such as the GNU Common C++ RTP Stack.
The 3D Studio import library is a collection of classes and structures to allow loading 3ds, mli (material) and prj (project) files into your Delphi and Borland C++ Builder application. Browse also other controls, tools and libraries
OOFILE is a cross-platform development environment for c++ shipped as royalty-free source code. If you know even a little C, you know how to write database queries and use OOFILE. It consists of:
A family of database backend.
Consistent database API designed for ease of use.
Report-writer for Mac & Windows, including XML, RTF and HTML output.
Graphing for Mac & Windows.
UI interface classes integrating with PowerPlant and MFC.
Utility classes for string handling, cross-platform directory handling and file iteration and more.
The OOFILE database API was the first such developed using usability techniques from the field of user interface design. It was explicitly aimed at getting c++ developers with little or no database experience up and running quickly, without compromising power or extensibility...
"…Mathematica seamlessly integrates a numeric and symbolic computational engine, graphics system, programming language, documentation system, and advanced connectivity to other applications. It is this range of capabilities–many world-leading in their own right–that makes Mathematica uniquely capable as a “one-stop shop” for you or your organization’s technical work…Its applications include:
Handling complex symbolic calculations that often involve hundreds of thousands or millions of terms.
Loading, analyzing, and visualizing data.
Solving equations, differential equations, and minimization problems numerically or symbolically.
Doing numerical modeling and simulations, ranging from simple control systems to galaxy collisions, financial derivatives, complex biological systems, chemical reactions, environmental impact studies, and magnetic fields in particle accelerators.
Facilitating rapid application development (RAD) for engineering companies and financial institutions.
Producing professional-quality, interactive technical reports or papers for electronic or print distribution.
Illustrating mathematical or scientific concepts for students from K-12 to postgraduate levels.
Typesetting technical information, for example, for U.S. patents.
Giving technical presentations and seminars.
This is a commercial product..."
"...GTL, the Graph Template Library can be seen as an extension of the Standard Template Library STL to graphs and fundamental graph algorithms. Graphs are a common model for discrete relational structures, such as diagrams, nets and networks, hierarchies, plans, charts, or maps. And there are many important algorithms for graphs, such us exhaustive search, shortest path, minimum spanning tree, matching or network flow, with a wide range of applications in areas such as Computer Science, Discrete Mathematics, Chemistry, Molecular Biology, Operations Research, Engineering, Computer Aided Design, Project Management, Production Planning, Surveillance, and Maintenance Control, Cartography, and other application areas. The wide use of graphs is also due to the fact that they have a natural graphical representation and Graphlet is a tool for this.
GTL is a platform independent and extendable C++ library. It is a useful aid to any software designer. GTL contains the classes needed to work with graphs, nodes and edges and some fundamental algorithms as building blocks for more complex graph algorithms. Further algorithms are under development. Customized algorithms can be developed by experienced programmers. A major step shall be support for models of hierarchically structured graph and the efficient manipulation of really large graphs. GTL has been designed and programmed following the guide lines of STL. Since 2000, BRAINSYS Informatiksysteme GmbH holds the rights on GTL and is the sole distributor..."
The Neural Network Simulation Software written by the graduate of the research project at the Institute for Theoretical Physics of the University of Amsterdam. Get more info from his Master’s Thesis, especially the documentation in the appendices. The source codes are free to use, but the original copyright notice must be preserved. The code is 100% ISO standard C++ and no additional libraries are needed, so it can be compiled with any compiler that supports standard C++. More neural network simulation software comparison can be found at emergent. The languages used dominated by C, C++ and Python.
This is a commercial product. Alyuda NeuroFusion is a general-purpose neural networks library that can be used to create, train and apply constructive neural networks for solving both regression and classification problems. Artificial Intelligence provides the key functionality that enhances customer satisfaction, allows your software to outdistance the competition and distinguishes it from other similar products
This is a commercial product. FieldTalk Modbus protocol stack offers the variety of platforms, protocol variants, programming languages, and functionality. The library distribution contains source code and documentation as well as a 12-month update guarantee. The licensing scheme is designed for commercial OEM users. No GPL or 3rd party license issues. They offer a no-nonsense per-developer-seat – no-royalty license.
Typical applications are Modbus based Supervisory Control and Data Acquisition Systems (SCADA), Modbus data concentrators, Modbus gateways, User Interfaces and Factory Information Systems (FIS). The Java Modbus edition helps publishing plant floor data on the web using Java applets and Java servlets. During the course of implementation, the usability in automation, control and other industrial environments was always kept in mind. The result is a well performing and robust Modbus library. The FieldTalk architecture is based on a programming language neutral but object oriented design model. This design approach enables them to offer the Modbus protocol stacks for C#, VB.net, Java, Object Pascal and for C++ while maintaining similar functionality. The C++ editions of the Modbus protocol stack have also been designed to support multiple operating system and compiler platforms, including real-time operating systems (RTOS). In order to support this multi-platform approach, the C++ Modbus editions are built around a lightweight OS abstraction layer
This is a GPL licensed C++ class library wrapping the Berkeley sockets C API, and therefore works on most Unixes and also win32. The library is in use in a number of real world applications, both commercial and open source. Features include, but are not limited to, SSL support, IPv6 support, tcp and UDP sockets, SCTP sockets, http protocol, highly customizable error handling. Testing has been done on Linux and Windows 2000, and to some part on Solaris and Mac OS X. The source code is released under the terms of the GNU GPL, but is also available under an alternative license.
DragonFireSDK is a Microsoft Visual C/C++ library. Its API consists of C/C++ functions that call native iPhone Objective-C functions enabling iPhone App creation in Windows. DragonFireSDK is not a hack, it is 100% legal and extremely fast as you are actually using Objective-C. DragonFireSDK is a development environment that allows you to code and test iPhone / iPod touch / iPad apps on your Windows PC.
The MotionNode Software Development Kit (SDK) is a collection of classes that provides real-time access to the outputs of the MotionNode system. This includes orientation output as well as the raw and calibrated accelerometer, gyroscope, and magnetometer sensor signals. The SDK is open source and available in the C++, C#, Java, and Python programming languages. The SDK is not required to access data from MotionNode inertial tracking system. It is intended to simplify development of third-party applications.
Some of the C/C++ and C# tools and utilities from hlrnet.com.
"...The CAN protocol is an ISO standard (ISO 11898) for serial data communication, developed for the automotive industry by Robert Bosch GmbH in the 1980's. Today CAN has gained widespread use and is used in industrial automation as well as in automotives and mobile machines. CAN uses a number of physical layers but the most common is the balanced two-wire bus, much like RS485..."
The Optical Character Recognition (OCR) SDKs collection, opensource and commercial.
Some VOIP SDKs and libraries collections.
"...It is a framework for transparent filtering the data packets transmitted via network on Windows. This is a high performance proxy-less solution, compatible with antiviruses/firewalls/other network filters. It perfectly suits for developing the content filters, basic application level firewalls, traffic analyzers/shapers, other software that requires viewing and modifying TCP/UDP traffic on Windows..."
The Wireless Communication Library is the powerful SDK for software developers. The Library includes a complete components set for develop applications which should use Bluetooth, IrDA, WiFi or Serial Port communication. Also WCL provides easy way to connect to a Wii Remote controller. The Library can be used with Borland Delphi, Borland Developer Studio, Borland CBuilder, Microsoft Visual Studio .NET, Microsoft Visual C++ and Microsoft Visual Basic 6. The Wireless Communication Library is 100% compatible with Windows XP, Windows Vista, Windows 7 and Windows 8.