The Gateway to Computer Science Excellence
+4 votes
361 views

Consider the following statements:

  • S1: When you statically link a file into an executable, the contents of the file are included during link time.
  • S2: When you link dynamically, it is only during run time when a pointer to the file which is linked in is included in the executable and then the contents of said file are loaded.

Which of the above statements is/are true?

in Compiler Design by Veteran (57.2k points) | 361 views
0
what is ans

1 Answer

+4 votes
Best answer

Both correct

S1)correct because statically linking done in compile time

S2) correct, because dynamically linking done  at run time.It linked the file by pointer to heap memory and we can access heap memory at runtime only. It's only include when you later run the executable that these dynamically linked files are bought in and they're only bought into the in-memory copy of the executable, not the one on disk.

Statically-linked files are 'locked' to the executable at link time so they never change. A dynamically linked file referenced by an executable can change just by replacing the file on the disk.

http://stackoverflow.com/questions/311882/what-do-statically-linked-and-dynamically-linked-mean

by Veteran (119k points)
selected by
0
because of this line - "it is only during run time when a pointer to the file which is linked in is included in the executable"..I guess ..(2) is wrong
0

@srestha, plz explain why "Dynamic linking needs no linker"?

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
50,737 questions
57,352 answers
198,475 comments
105,245 users