• Stars
    star
    1,312
  • Rank 35,858 (Top 0.8 %)
  • Language
    C
  • License
    BSD 3-Clause "New...
  • Created over 10 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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).

Melon logo

Melon

δΈ­ζ–‡θ―΄ζ˜Ž

Melon is a C library for simplifying-development. It includes many data structures, algorithms, architectures and many other useful components.

  • Data structure
    • Doubly linked list
    • Fibonacci heap
    • Hash table
    • queue
    • Red-black tree
    • stack
    • Array
  • Algorithms
    • Encryption algorithm: AES, DES, 3DES, RC4, RSA
    • Hash algorithm: MD5, SHA1, SHA256
    • Base64
    • Large number calculation
    • FEC
    • JSON
    • Matrix Operations
    • Reed Solomon coding
    • Regular matching algorithm
    • KMP
    • Cron format parser
  • Components
    • Error code management
    • Memory pool
    • Thread Pool
    • I/O Thread
    • Data link
    • TCP encapsulation
    • Event mechanism
    • File cache
    • HTTP handling
    • Scripting language
    • Lexical analyzer
    • Parser generator
    • Websocket
  • Scripting language
    • Preemptive coroutine language - Melang
  • Framework
    • Multi-process model
    • Multi-thread model
    • Trace Mode

You can pick some components or framework based on your demand.

On Windows, framework can NOT be activated, but other components still working.

Installation

On Windows, please install mingw, git bash and make at first. Install MingW-W64-builds with the installation settings:

  • Version: 8.1.0

  • Architecture: i686

  • Threads: posix

  • Exception: dwarf

  • Build revision: 0

Then execute these shell commands on git bash or terminal (on UNIX).

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

License

BSD-3-Clause License

Copyright (c) 2014-present, Niklaus F. Schen

Documentation

Please refer to Github Pages 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.a to be created.

Contact

Twitter: @MelangInc

QQ: 756582294