eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingArchitektura aplikacji - powody wyłączania dll z exe › Re: Architektura aplikacji - powody wyłączania dll z exe
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


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


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: