2025-03-06 01:33:43 +08:00
.vscode fix debug issue 2024-08-11 03:02:35 +08:00
doc Fix floatl print issue 2025-03-06 01:33:43 +08:00
image varch init 2024-04-22 00:09:51 +08:00
source Fix floatl print issue 2025-03-06 01:33:43 +08:00
test Fix floatl print issue 2025-03-06 01:33:43 +08:00
.gitignore Add readme of English version, update the test code for each module, adjust some modules 2024-12-18 01:31:03 +08:00
built.sh add graph, add windows vscode debug config 2024-08-11 02:56:16 +08:00
clean.sh add graph, add windows vscode debug config 2024-08-11 02:56:16 +08:00
LICENSE add LICENSE. 2024-04-21 16:04:08 +00:00
makefile 1. Add math category folder 2025-03-04 11:15:49 +08:00
README.en.md 1. Add math category folder 2025-03-04 11:15:49 +08:00
README.md 1. Add math category folder 2025-03-04 11:15:49 +08:00
release.txt 1. Add math category folder 2025-03-04 11:15:49 +08:00
run.sh Fix floatl print issue 2025-03-06 01:33:43 +08:00

varch

logo

Version License Author Supported Platforms

Introduction

中文版

varch (we architecture, meaning our framework library) is a commonly used code module library for embedded C language, including algorithm libraries, data structure (container) libraries, parser libraries, independent C language std libraries, tool libraries, and more. It has the characteristics of simplicity, universality, and efficiency, with the aim of learning and using it immediately in development, improving development efficiency and code reliability and stability.

Content

module version usage path describe
overall 00.03.01 link path Overall
init 01.00.00 link path Initialize export module
console 01.00.01 link path Console command input, combined with the 'command' module, parsing commands entered in the console
arg 01.00.00 link path Indefinite parameters, obtain the number of indefinite parameters and specified parameters
calculate 01.01.00 link path Calculation module, input calculation expression to obtain calculation result
command 01.00.00 link path Command parsing module, input string commands (similar to shell commands), execute corresponding command functions
cPatten 01.00.00 link path Artistic character patterns
cQueue 01.00.01 link path Universal queue controller
sList 01.00.01 link path Universal single-link list controller
dList 01.00.01 link path Universal double-link list controller
fsm 01.00.00 link path Universal finite state machine module
kern 01.00.00 link path The kernel module for scheduling periodic tasks is mostly used in varch testing
oscp 01.00.00 link path Analog oscilloscope module, can easily monitor the waveform of variable changes
tool 01.01.00 link path General tools code
valloc 01.00.00 link path Dynamic memory usage testing tool
vlog 01.01.00 link path Log output module
intl 01.00.00 link path Large integer arithmetic module
date 01.00.00 link path Date calculation module, calculating date differences, printing calendars, etc
vctype 01.00.00 link path Similar to the C standard library ctype
vmath 01.00.00 link path Similar to the C standard library math
vmem 01.00.00 link path Simple implementation of memory pool
vstddef 01.00.00 link path Similar to the C standard library stddef
vstdint 01.00.00 link path Similar to the C standard library stdint
vstdlib 01.00.00 link path Similar to the C standard library stdlib
vstring 01.00.00 link path Similar to the C standard library string
queue 01.00.00 link path Universal queue container
stack 01.00.00 link path Universal stack container
deque 01.00.00 link path Universal double-end queue container
list 01.00.00 link path Universal list container, single-link and internal iteration
vector 01.00.00 link path Universal vector(array) container
str 01.00.00 link path String class
dict 01.00.00 link path Universal dictionarie container, implementation based on hash table
heap 01.00.00 link path Universal heap container
set 01.00.00 link path Universal set container, implementation based on RB-tree
map 01.00.00 link path Universal map container, implementation based on RB-tree
tree 01.00.00 link path Universal tree container
graph 01.00.00 link path Universal graph container
check 01.00.00 link path Verification algorithm, sum check, parity check, XOR check, LRC check
crc 01.00.00 link path Universal and standard CRC algorithms
encrypt 01.00.00 link path Encryption and decryption algorithms
filter 01.00.00 link path Filter algorithms, median, kalman, average
hash 01.00.00 link path Hash algorithms, bkdr, ap, djb, js, rs, sdbm, pjw, elf, dek, bp, fnv, jdk6
pid 01.00.00 link path PID control algorithm calculator
search 01.00.00 link path Universal search algorithms, linear, binary
sort 01.00.00 link path Universal sorting algorithms (various data structures), bubble, select, insert, hill, quick, heap
csv 01.00.00 link path CSV file parsing generator
ini 01.00.00 link path INI configuration file parsing generator
json 01.00.00 link path JSON file parsing generator
txls 01.01.00 link path TXLS file parsing generator
xml 01.00.00 link path XML file parsing generator
ramt 01.00.00 link path RAM test module
romt 01.00.00 link path ROM test module
cpul 01.00.00 link path CPU load test module, including obtaining and increasing load
unitt 01.00.00 link path Simple unit test module
intl 01.00.00 link path Large integer arithmetic module
floatl 01.00.00 link path Large floating-point arithmetic module

Usage

The code is compiled and tested in a Linux environment. It can be compiled by configuring the files to be compiled in the makefile directory under the build directory, or by directly running the run. sh file to compile and run. The varch module should be kept as independent as possible, and in order to reduce dependence on other modules, most files can be directly extracted and used separately. If there are dependencies on other modules during compilation to solve dependency problems, but only data type dependencies, you can refer to defining the required types.

Install

  • linux
make install
  • MinGW
make install LIBP=<MinGW install path>

demo:

make install LIBP=D:/MinGW

License

                GNU GENERAL PUBLIC LICENSE
                   Version 2, June 1991

Contach

Lamdonn@163.com