Melon

A generic cross-platform C library that includes many commonly used components and frameworks, and a new scripting language interpreter. It currently supports C99 and Aspect-Oriented Programming (AOP).

1374
199
C

Melon logo

Melon

中文说明

Melon is a generic cross-platform C library. It contains many algorithms, data structures, functional components, scripting languages and practical frameworks, which can facilitate developers to quickly develop applications and avoid the dilemma of repeated wheel building.

  • Components
    • Library Initialization
    • Configuration
    • Log
    • Error Code Management
    • Memory Pool
    • Thread Pool
    • I/O Thread
    • TCP Encapsulation
    • Event Mechanism
    • File Set
    • HTTP Handling
    • Scripting Language
    • Lexical Analyzer
    • Parser Generator
    • Websocket
    • String
    • Regular Expression
    • Big Number Calculation
    • FEC
    • JSON
    • Matrix Operations
    • Reed Solomon Coding
    • Cron Format Parser
    • Spin Lock
    • Prime Generator
    • Span
    • Expression
  • Data Structures
    • Doubly Linked List
    • Fibonacci Heap
    • Hash Table
    • Queue
    • Red-black Tree
    • Stack
    • Array
  • Algorithms
    • AES
    • DES/3DES
    • RC4
    • RSA
    • MD5
    • SHA
    • Base64
  • Templates
    • Function Template
    • Class Template
  • Scripting Language Development
  • Frameworks
    • Multi-Process Model
    • Multi-Thread Model
    • Trace Mode
    • IPC

Platform Support

  • Linux

  • MacOSX

  • Windows

    • msys2 (Fully supported)
    • msvc (Partially supported)

Quick Installation

git clone https://github.com/Water-Melon/Melon.git
cd Melon
./configure [--prefix=LIB_INSTALL_PATH | ...]
make
make install

For installation on other operating systems or for more configure options, please refer to Official Document: Installation.

License

BSD-3-Clause License

Copyright © 2014-present, Niklaus F. Schen

Documentation

Please refer to Official Documentation Website for more details.

中文文档请参考:中文指南

Docker

You can pull the built container image to deploy the running environment.

docker pull melonc/melon

Webassembly

You should install emsdk at first, make sure emcc and emar have been installed. Then execute:

./configure --enable-wasm
make && make install

There is only one static library libmelon_static.a to be created.

Contributing

We ❤️ pull requests, and we’re continually working hard to make it as easy as possible for developers to contribute.
Before beginning development with the Melon, please familiarize yourself with the following developer resources:

  • Contributor Guide (CONTRIBUTING.md) to learn about how to contribute to Melon.

Contact

Twitter: @MelonTechnology

QQ: 756582294