Add 'Lectures/multifile_compilation.md'

This commit is contained in:
2021-06-15 00:18:11 +01:00
parent b2ef265be5
commit 54088d606e

View File

@@ -0,0 +1,51 @@
# Բազմաֆայլ Կոմպիլացիա
1947թ
As early as 1947, programmers started to use primitive loaders that could
take program routines stored on separate tapes and combine and relocate
them into one program. By the early 1960s, these loaders had evolved into
full-fledged linkage editors.
Since program memory remained expensive
and limited and computers were (by modern standards) slow, these linkers
contained complex features for creating complex memory overlay structures to cram large programs into small memory, and for re-editing previously linked programs to save the time needed to rebuild a program from
scratch.
During the 1970s and 1980s there was little progress in linking technology. Linkers tended to become even simpler, as virtual memory moved
much of the job of storage management away from applications and overlays, into the operating system, and as computers became faster and disks
larger, it became easier to recreate a linked program from scratch to replace a few modules rather than to re-link just the changes. In the 1990s
linkers have again become more complex, adding support for modern features including dynamically linked shared libraries and the unusual demands of C++. Radical new processor architectures with wide instruction
words and compiler-scheduled memory accesses, such as the Intel IA64,
will also put new demands on linkers to ensure that the complex requirements of the code are met in linked prograsm
- Միաֆայլ-ծրագիր
- Դժվար է գրել/խնամել մեծ ծրագրեր
- Բազմաֆայլ ծրագիր
- Հարմարավետություն
- Պրցեդուրաի բազմակի օգտագործում <գրադարան>
- Կոմպիլացի մեկ անգամ, բազմակի կիրառում
- Պատմական ակնարկ
- Օբյեկտային ֆայլ
- Loading vs Linking
- Program loading
- Relocation
- Symbol Resolution
# Object File
- Object code
- Debug symbols
- Symbol Table
- Segments
- Անունների ֆորմատը (Name mangling)
Հղումներ
Linking and Loading