UCommon icon

UCommon For Mac

2.7/5 23
GPL   

A free and open source, lightweight C++ library that enables you to use C design patterns for very deeply embedded applications. #C++ library  #Design c++ pattern  #Minimize memory usage  #Library  #Pattern  #C++  

Description

changelog

Free Download

UCommon is meant as a very light-weight C library to facilitate using C design patterns even for very deeply embedded applications, such as for systems using uclibc along with posix threading support.

For this reason, UCommon disables language features that consume memory or introduce runtime overhead, such as rtti and exception handling, and assumes one will mostly be linking applications with other pure C based libraries rather than using the overhead of the standard C library and other similar class frameworks.

UCommon introduces some Objective-C based design patterns, such as reference counted objects, memory pools, smart pointers, and offers dynamic typing through very light use of inline templates for pure type translation that are then tied to concrete base classes to avoid template instantiation issues.

C auto-variable automation is also used to enable referenced objects to be deleted and threading locks to be released that are acquired automatically when methods return rather than requiring one to explicitly code for these things.

UCommon depends on and when necessary will introduce some portable C replacement functions, especially for sockets, such as adding getaddrinfo for platforms which do not have it, or when threadsafe versions of existing C library functions are needed.

Basic socket support for connecting to named destinations and multicast addresses, and binding to interfaces with IPV4 and IPV6 addresses is directly supported. Support for high resolution timing and Posix realtime clocks are also used when available.

While UCommon has been influenced by GNU Common C , it introduces some new concepts for handling of thread locking and synchronization and also builds all higher level thread synchronization objects directly from conditionals.

Hence, on platforms which for example do not have rwlocks, barriers, or semaphores, these are still found in UCommon. A common and consistent call methodology is used for all locks, whether mutex, rw, or semaphore, based on whether used for exclusive or "shared" locking.

UCommon requires some knowledge of compiler switches and options to disable language features, the C runtime and stdlibs, and associated C headers.

The current version supports compiling with GCC, which is commonly found on GNU/Linux, OS/X, BSD based systems, and many other platforms; and the Sun Workshop compiler, which is offered as an example how to adapt UCommon for additional compilers.

UCommon may also be built with GCC cross compiling for mingw32 for Microsoft Windows targets using the Redhat w32 pthread library.

The minimum platform support for UCommon is a modern and working posix pthread threading library.

UCommon does not support other non-posix threading models such as Microsoft Windows threads or non-preemtive threading libraries like GNU pth, so that we could optimize development efforts around Posix pthread exclusively.

What's new in UCommon 6.6.2:

  • introduced rsa key support
  • expanded hmac support
  • expanded digests for sha256 and 384
  • reword of common digest code
Read the full changelog

UCommon 6.6.2

add to watchlist add to download basket send us an update REPORT
  runs on:
Mac OS X (-)
  file size:
630 KB
  filename:
ucommon-6.6.2.zip
  1 screenshot:
UCommon - This is part of the source code for the uCommon library.
  main category:
Development
  developer:
  visit homepage

Bitdefender Antivirus Free

Feather-light and free antivirus solution from renowned developer that keeps the PC protected at all times from malware without requiring user configuration
Bitdefender Antivirus Free

ShareX

Capture your screen, create GIFs, and record videos through this versatile solution that includes various other amenities: an OCR scanner, image uploader, URL shortener, and much more
ShareX

IrfanView

With support for a long list of plugins, this minimalistic utility helps you view images, as well as edit and convert them using a built-in batch mode
IrfanView

Microsoft Teams

Effortlessly chat, collaborate on projects, and transfer files within a business-like environment by employing this Microsoft-vetted application
Microsoft Teams

7-Zip

An intuitive application with a very good compression ratio that can help you not only create and extract archives, but also test them for errors
7-Zip

Zoom Client

The official desktop client for Zoom, the popular video conferencing and collaboration tool used by millions of people worldwide
Zoom Client

4k Video Downloader

Export your favorite YouTube videos and playlists with this intuitive, lightweight program, built to facilitate downloading clips from the popular website
4k Video Downloader

Windows Sandbox Launcher

Set up the Windows Sandbox parameters to your specific requirements, with this dedicated launcher that features advanced parametrization
Windows Sandbox Launcher

calibre

Effortlessly keep your e-book library thoroughly organized with the help of the numerous features offered by this efficient and capable manager
calibre

Context Menu Manager

Customize Windows’ original right-click context menu using this free, portable and open-source utility meant to enhance your workflow
Context Menu Manager

% discount
Windows Sandbox Launcher
  • Windows Sandbox Launcher
  • calibre
  • Context Menu Manager
  • Bitdefender Antivirus Free
  • ShareX
  • IrfanView
  • Microsoft Teams
  • 7-Zip
  • Zoom Client
  • 4k Video Downloader
essentials


Click to load comments
This enables Disqus, Inc. to process some of your data. Disqus privacy policy