» »

[c] knjižnice

[c] knjižnice

slovencl ::

Imam en projekt, ki bi ga rad razdelil na knjižnice, ampak mi niso povsem jasne.
Npr. če imam knjižnico A v kateri moja funkcija kliče tudi funkcijo sin() iz knjižnice math, in knjižnico B, v kateri druga funkcija ravno tako kliče funkcijo sin() iz knjižnice math. Ali bo compiler vedel, da obe knjižnice uporabljata isto funkcijo, ali bo naredil dve kopije sin() funkcije.

Če prav razumem so knjižnice skompajlane samostojno in so potem samo polinkane, se pravi bo program z razdeljenimi knjižnicami daljši, ker bosta v njem dve kopije iste funkcije sin()?
  • spremenil: slovencl ()

Randomness ::

Ne, kopija sin funkcije bo samo ena in ta se ne bo nahajala v tvojem programu ampak v knjižnici math. Še več, to bo načeloma tudi edina kopija te funkcije na disku in v pomnilniku, ki si jo bodo delili vsi programi, ki bodo klicali to funkcijo. To je nekako tudi ideja "dinamičnih" knjižnic (dll v windowsih, so v linuxu). Kratica so namreč pomeni shared object.

Seveda to za statične knjižnice ne velja.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Mi lahko kdo razlozi ta graf?

Oddelek: Šola
302854 (1433) BorutK-73
»

gcc + math.h + -lm problem

Oddelek: Programiranje
9984 (900) BigWhale
»

[C++] zaokroževanje števil

Oddelek: Programiranje
82309 (1386) worxer
»

[Naloga] Eulerjevo število

Oddelek: Programiranje
233102 (2454) gani-med
»

c++ header file

Oddelek: Programiranje
5848 (807) Vesoljc

Več podobnih tem