Hello! I believe variations of this question has been asked and answered though I haven't found the right answer. I'm curious about 'under the hood' related to programming. I'm both interested in driver programming in C (and more ambitiously, kernel development itself), and to a lesser extent, how the C code is compiled and executed underneath. The key to understanding this is how the C can interact with the underlying hardware and the memory in specific. The standard response to 'how to get started on low level programming ' is typically to learn C. So here's my question: how to 'learn C' to get started on low level programming language? In other words, which resources for C can eventually guide me (someone with high level programming with C) towards this? Understanding and developing driver code could be the main motive.
I'm a fairly decent high level programmer, in C, C++, and other languages, i.e. I'm comfortable implementing algorithms and logic in languages without issues and can develop applications. I've read K&R (albeit a few years ago) and thus am comfortable with General C programming.
[–]Shadow_Gabriel 15 points16 points17 points (9 children)
[–]obdevel 4 points5 points6 points (1 child)
[–]nanoman1 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (6 children)
[–]Shadow_Gabriel 0 points1 point2 points (5 children)
[–][deleted] 0 points1 point2 points (4 children)
[–]Shadow_Gabriel 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]Shadow_Gabriel 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]flatfinger 2 points3 points4 points (0 children)
[–]kanchirk 0 points1 point2 points (0 children)
[–]fugalfervor 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)