• 3 Posts
  • 379 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle










  • Basically the variables like “greeting” in the program occupy memory locations, like “location 3”. Symbol resolution is when the compiler sees a name and figures out the associated location. Normally that is done with something like a Python dictionary (in the old days you’d have to implement the dictionary yourself, which was an exercise in its own right).

    Slightly complicating the python example, there can be local and global variables in separate locations but with the same name. So the compiler has to figure out from context which one you meant. That too is an exercise.








  • Fair enough. If your product isn’t safety or security critical then it’s mostly a matter of getting it working and passing reasonable testing. If it’s critical you might look for outside help or review, and maybe revisit the decision to use C.

    The book “Analysable Real-Time Systems: Programmed in Ada” was recommended to me and looks good. I have a copy that has been on my reading pile for ages. I was just thinking about it recently. It could be a source of wisdom about embedded dev in general, plus Ada generally fosters a more serious approach than C does, so it could be worth a look. I also plan to get Koopman’s book that I mentioned earlier.