Skip to content

Review: Jan #9

@NiekBeijloos

Description

@NiekBeijloos

Details on the preprocessor:

Spelling:

  • 'bare makefile' not 'bear makefile' ;)
  • check the text for more

Linking:

  • Linking is surprising complicated, but in essence a bunch of object files are combined into one.
  • the result is usually a library or executable
  • there are two kinds of .lib files on windows,
  1. static libraries (also called standard libraries)
  2. import libraries, a sort of linker stubs, this is a .lib file that belongs next to a .dll, it contains information on what the dll contains and how it is loaded.

reference: https://docs.microsoft.com/en-us/cpp/build/reference/lib-output-files?view=msvc-170

as far as I know, you can not tell from looking at a .lib file which one of these it is, but static libraries are almost always bigger compared to import libraries.

  • .elf files: you say Arm target can't directly interpret .elf files, while it may look like that, its not actually that the ARM cpu "can't do this", but its usually impractical,
    because the target would need to have an ELF reader. Theoretically, you could make a system that boots, reads .elf files from some media (like an sdcard), reads it and interprets it putting
    the right pieces in memory, and execute it.

Deze talk https://www.youtube.com/watch?v=4V9QWHjRPMc beschrijft wat er allemaal moet gebeuren om van 'Hello world' naar een executable to komen.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions