Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 1.92 KB

README.md

File metadata and controls

80 lines (55 loc) · 1.92 KB

c-algo-data-structure

algorithms and data structure in C

cmocka

install dependencies

sudo dnf install libcmocka-devel

build tests

make test

build examples

make example

secure programming

for template

Makefile examples

CC :=gcc
CPP :=g++
LDFLAGS :=
C_SOURCES :=$(wildcard *.c)
C_EXECUTABLE :=$(C_SOURCES:.c=)
CPP_SOURCES :=$(wildcard *.cpp)
CPP_EXECUTABLE :=$(CPP_SOURCES:.cpp=)

all:$(C_EXECUTABLE) $(CPP_EXECUTABLE)

$(C_EXECUTABLE):$(C_SOURCES)
	$(CC) $< $(LDFLAGS) $(CFLAGS) -o $@

$(CPP_EXECUTABLE):$(CPP_SOURCES)
	$(CPP) $< $(LDFLAGS) $(CFLAGS) -o $@

clean:
	rm -rf $(C_EXECUTABLE)
	rm -rf $(CPP_EXECUTABLE)

sample for compiling a unit test

gcc -I./src/include/binary/ tests/test_binary.c src/source/binary/binary-to-decimal.c src/source/binary/decimal-to-binary.c -Wall -g -lm -o ./build/tests/test_binary -lcmocka

gcc -I./src -I./src/include -I./src/include/binary -I./src/source -I./src/source/binary -I./src/example -MMD -MP tests/test_binary.c -Wall -g -lm -o ./build/tests/test_binary -lcmocka

TODOs

  • clean up examples/sort and examples/recursion
  • clean up examples/video_clip

References