Bachelor thesis in computer science and engineering at Università degli Studi Roma Tre with title “Design and Implementation of a MPPT algorithm for photovoltaic panels based on neural networks”.
Supervisor: Francesco Riganti Fulginei
In the last C project I needed a versatile list data structure.
The needs for this list where:
- lightweight on memory
- easy to use
- support for every kind of information I wanted to store
Given those premises, I decided to create a classic list data structure that instead of using the correct data type, it uses (void *) as the information holder.
Using a void pointer gives you a lot of flexibility because in this way you can store every kind of information you need. You can even obtain a list that holds different element types!
However the use of (void *) requires a bit of a consideration. In fact, deleting a node from the list becomes difficult because the information that is being held by the list node needs an appropriate deallocator function. Another reason of concern is that when you get the info from a node list, you have to cast it as the element type that you know it is.
Continue reading “Lightweight and multipurpose list data structure in C”
I really struggled to find a decent and simple tutorial on CMake. For this reason I decided to write this one for novices like me and just get started. I’m quite sure it’s not the right way of doing things, but it’s simple and it works.
I’m more than open to suggestions and best practices of more experienced developers of course!
I’ll try, as I learn new things, to update this tutorial (pinky swear :P).
Continue reading “CMake tutorial for novices”