When I download a .hex file using avrdude, I'm seeing a difference between the input and output size. For example, the size of the .hex file is 856 bytes, and what I see in the message is '... avrdude: 298 bytes of flash written ...'
I'm curious as to where the difference is coming from (the .hex file is larger). And would the answer to what is the machine code size (for the corresponding source code .c file), be 298 bytes?