-
Data: 2017-12-02 09:15:20
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: "AK" <n...@n...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "M.M." <m...@g...com> napisał:
> Ściślej, kompilator dostaje informacje o nieprzewidywalnych wywołaniach w
> momencie gdy jakaś zmienna jest rzutowana na typ wskaźnika na funkcję.
> Jak wtedy kompilator powinien się zachować? Czy powinien wcielić absolutnie
> całego liba?
Nie. Kompilator (a raczej linker) nic nie wie (on wie tylko to co jest wprost) o
docelowych funkcjach wiec sam ich nie dolaczy/dolinkuje.
Musisz sam o to zadbac (np tworzac w kodzie "puste" odwolania).
Kiedys wystarczylo takie nie wprost uzywane funkcje po prostu umiescic w obj-cie
(bo dolinkowywany byl caly obj) ale pewniejszym (dzis i wtedy/drzewiej:) jest
tworzenie
"pustych odwolan" chocby typu:
int main()
{
funkcja1;
funkcja2;
..
}
Tak jak wspomnialem wczesniej podobny problem jest przy templatach C++ gdy
tworzymy biblioteke w ktorej nie ma uzycia konkretnego templata, ale w "user kodzie"
bedzie (no bo po to tworzymy biblioteke:).
Wtedy w lib-ie tworzymy sztucznie inicjatory takich templatow aby w ogole
kompilator stworzyl kod dla tego templata i linker docelowo mial co dolaczac.
(jak to sie "uczenie"nazwywa ? instancjonowanie szablonow czy jakos tak?
Ayatollachowie C++ sie wypowiedza?:)
PS: Dlatego jestem "goracym" zwolennikiem modulow jak w Py czy jarow jak w Javie
czy "assembles" w .NET.
Lezy toto sobie na dysku, a brane jest _tylko wtedy_ gdy trzeba a nie "na zapas" jak
w statycznym linkowaniu.
Bo to sa o wiele bardziej prawdziwe moduly niz cala zabawa w C/C++ (dll-ki to tez nie
ideał)
AK
Następne wpisy z tego wątku
- 02.12.17 09:24 AK
- 02.12.17 12:15 fir
- 02.12.17 12:43 fir
- 02.12.17 16:12 AK
- 02.12.17 16:15 AK
- 02.12.17 16:26 fir
- 12.09.18 19:55 s...@g...com
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-07-02 Realme 7 Na co zmienić?
- 2024-06-27 Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-07-02 znalazłem samochód ;)
- 2024-07-02 Pierwszeństwo łamane
- 2024-07-02 zamek
- 2024-07-02 Akumulatory VRLA
- 2024-07-03 Białystok => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-07-03 MĂźnchen => Test Development Engineer (m/w/d) <=
- 2024-07-03 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-07-03 Warszawa => Programista Full Stack (.Net Core) <=
- 2024-07-02 Kraków => Spedytor międzynarodowy <=
- 2024-07-02 Poznań => Senior React Native Developer <=
- 2024-07-02 Rzeszów => Frontend Developer (React) <=
- 2024-07-02 Warszawa => Fullastack (Java) Developer <=
- 2024-07-02 reparacje