Giter VIP home page Giter VIP logo

c-project's Introduction

C Project Template

This folder contains a makefile which by defaults builds a C project using GCC which has the following structure

project
│   README.md
│   Makefile
│
└───src
│   │
│   └─ app
│   │  main.c
│   │
│   └─ folder
│   |  *.c
│   └─ another_folder
│       *.c
│
└───include
│   │
│   └─ folder
│       *.h
│    *.h
│
└───log
|   *.log
|
└───build
    *.out

Commands

  • all: make rule runs comipile and run
  • compile: make compile compiles source files
  • run: make run executes the program
  • leaks: make leaks runs compile and runs the program in Valgrind, loggin the result in log/leaks.log
  • threads: make threads runs compile and runs the program in Valgrind with the tool Hellgrind
  • clean: deletes executable
  • cleanLogs: deletes the log folder
  • remove: runs clean and cleanLogs

Getting Started

  1. Create a repository from this template
  2. If you don't have yarn , install it.
sudo apt update
sudo apt install yarn

If you already don’t have Node.js installed on your system , the command above will install it. Those who are using nvm can skip the Node.js installation with:

sudo apt install --no-install-recommends yarn

Verfy it with

yarn --version
  1. Inside the directory, run yarn install.
  2. Run the make file using make or yarn start.

Commiting

This project is configurated to use standard-version which automaticly generates a CHANGELOG.md.

Recommended: read this article about semantic versions, conventional commits, and using standard-version.

To make use of this you will have to...

  1. Install gnupg2:
sudo apt install gnupg2
  1. Configure git to use gnupg2
git config --global gpg.program gpg2
  1. Generate a gpg key
gpg --gen-key
  1. Whenever you make changes, follow the convetional-commits

  2. run yarn release

There is also yarn release:minor, yarn release:patch and yarn realease:major. To follow the semantic versioning.

License

All material is provided under an MIT License unless otherwise specified.

MIT License: https://mit-license.org/ or see the LICENSE file.

Credits

This project has been facilitated with 💙 by Tomás Sánchez.

c-project's People

Contributors

tomasanchez avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.