-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail
From: "AK" <n...@n...net>
Newsgroups: pl.comp.programming
Subject: Re: Architektura aplikacji - powody wyłączania dll z exe
Date: Sat, 2 Dec 2017 09:15:20 +0100
Organization: Aioe.org NNTP Server
Lines: 37
Message-ID: <ovtnff$6rs$1@gioia.aioe.org>
References: <0...@g...com>
<oukn36$l7m$1@node2.news.atman.pl>
<4...@g...com>
<oun2nc$r4t$1@node2.news.atman.pl>
<8...@g...com>
<ouviso$22u$1@node1.news.atman.pl>
<9...@g...com>
<1...@g...com>
<e...@g...com>
<ovgk2k$kc2$1@gioia.aioe.org>
<5...@g...com>
<ovnil0$ubp$1@gioia.aioe.org>
<4...@g...com>
<ovq7de$f0m$1@node2.news.atman.pl>
<c...@g...com>
<izm4rewsde4p$.dlg@tyczka.com>
<2...@g...com>
NNTP-Posting-Host: YCbt0Q1Hjzllr8IZTpMmhg.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Complaints-To: a...@a...org
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6002.18197
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.19694
X-Antivirus: Avast (VPS 171201-10, 2017-12-01), Outbound message
X-Notice: Filtered by postfilter v. 0.8.2
X-Antivirus-Status: Clean
Xref: news-archive.icm.edu.pl pl.comp.programming:211818
[ ukryj 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
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- 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??
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=