-
61. Data: 2017-12-02 09:15:20
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: "AK" <n...@n...net>
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
-
62. Data: 2017-12-02 09:24:08
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: "AK" <n...@n...net>
Użytkownik "fir" <p...@g...com> napisał:
> widze ze ciezka niekumacja tu sie odwala (co jest troche smutne)
Mowisz o sobie ? Zgoda w 100% ! :)
> ale w wypadku linlkowanie ststycznego systarczy z tcw jedynie zadeklarowac symbol
> bez definicji (nie pamietam czy trzeba dodawac slowo extern ale oip chyba raczej
nie)
Bzdura do kwadratu.
NIE wystarczy zadeklarowac (bo taka deklaracja to pustoslow dla kompilatora, ot
kawalek tekstu)
Trzeba tot UZYC !! Jakkolwiek (nawet "pusto") ale UZYC.
Dousz sie nieopierzony palancie zanim zaczniesz krytykowac innych.
PS: Nie twierdze ze niektore kompillatory C sama deklaracje moga potraktowac jako
uzycie, ale to jest _wylacznie_ ich specyficzna cecha i wcale nie gwarantuje
niczego.
PS1: Prawdziwy problem zaczyna sie dopiero wtedy gdy niektore optymalizatory C/C++
juz na poziomie
kompilacji "wycinaja" takie puste odwolania do funkcji (ogolnie: linkeroiwych
symboli
zewnetrznych) :)
AK
-
63. Data: 2017-12-02 12:15:42
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: fir <p...@g...com>
W dniu sobota, 2 grudnia 2017 09:24:32 UTC+1 użytkownik AK napisał:
> Użytkownik "fir" <p...@g...com> napisał:
>
> > widze ze ciezka niekumacja tu sie odwala (co jest troche smutne)
>
> Mowisz o sobie ? Zgoda w 100% ! :)
>
> > ale w wypadku linlkowanie ststycznego systarczy z tcw jedynie zadeklarowac symbol
> > bez definicji (nie pamietam czy trzeba dodawac slowo extern ale oip chyba raczej
nie)
>
> Bzdura do kwadratu.
> NIE wystarczy zadeklarowac (bo taka deklaracja to pustoslow dla kompilatora, ot
kawalek tekstu)
> Trzeba tot UZYC !! Jakkolwiek (nawet "pusto") ale UZYC.
> Dousz sie nieopierzony palancie zanim zaczniesz krytykowac innych.
>
> PS: Nie twierdze ze niektore kompillatory C sama deklaracje moga potraktowac jako
> uzycie, ale to jest _wylacznie_ ich specyficzna cecha i wcale nie gwarantuje
niczego.
>
> PS1: Prawdziwy problem zaczyna sie dopiero wtedy gdy niektore optymalizatory C/C++
juz na poziomie
> kompilacji "wycinaja" takie puste odwolania do funkcji (ogolnie:
linkeroiwych symboli
> zewnetrznych) :)
>
w trzec punktach
1.
od kolegi to moglbym sie tylko nauczyc jak robic cos w rodzaju publicznych pokazów
nielimitowanego oglupialego dziadostwa
2.
nie bardzo mnie to interesuje wiec
za to gdybym byl w formie moglbym
ze tak powiem zaczac uczyc jak walczyc/ opierac sie takiemu dziadostwu (w uoglniony
filozoficznie oczywiscie
sposob, bo wyslac kolega samego
na planete dziadostwa to zaden problem, mam na mysli walke z tego typu dziadostwem w
ogóle) -
3.
problem w tym ze ostatnio nie mam formy na takie rzeczy (co jest oczywiscie smutne,
traktuje to troche tak jakbym stracil częśc
jakichs waznych zdolnosci ) (a praktycznie sprowadza sie to do tego ze wogole nie che
mi sie tu byc i temu dziadostwu sie nawet przygladac gdy mam mase o wile
inteligentnieszych ludzi z ktorymi
moge porozmawiac na o wiele wyzszym
poziomie)
jakie wnioski z tego kolega wyciagnie to nie wiem - zakladam ze żadne
-
64. Data: 2017-12-02 12:43:20
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: fir <p...@g...com>
W dniu sobota, 2 grudnia 2017 12:15:44 UTC+1 użytkownik fir napisał:
> walke z tego typu dziadostwem w ogóle) -
troche niprecyzyjny zwrot (ale ostatnio w erze mentalnej plytkosci dużo takich) -
chodzi wlasnie o 'zanegowanie' oodbicie sie od takich plytkich limatow dziadostwa w
(kiedys dobrze mi znane) glebsze rejony mysli
(jak to sie robi? pewnym sposobem jest chyba przyjmowanie negatywnej postawy wobec
twierdzen, (ale o tym ew kiedy indziej)
-
65. Data: 2017-12-02 16:12:09
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: "AK" <n...@n...net>
Użytkownik "fir" <p...@g...com> napisał:
> w trzec punktach
.. i jak zwykle zero co do meritum.
Slowem: nie wprowadzaj ludzi w blad nieopierzony palancie !
AK
-
66. Data: 2017-12-02 16:15:06
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: "AK" <n...@n...net>
Użytkownik "fir" <p...@g...com> napisał:
> w (kiedys dobrze mi znane) glebsze rejony mysli
Glebsze rejony to ty niewatpliwie masz, ale na pewno nie mysli...
PS: Do meritum sie odnies betonie programistyczny
AK
-
67. Data: 2017-12-02 16:26:40
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: fir <p...@g...com>
W dniu sobota, 2 grudnia 2017 16:15:35 UTC+1 użytkownik AK napisał:
> Użytkownik "fir" <p...@g...com> napisał:
>
> > w (kiedys dobrze mi znane) glebsze rejony mysli
>
> Glebsze rejony to ty niewatpliwie masz, ale na pewno nie mysli...
>
> PS: Do meritum sie odnies betonie programistyczny
>
> AK
nie musialbym sie odnosic panie zdziadzialy buraku gdybys rozumial ze moja wypowiedz
byla o czyms zupelnie innym i o symbolach do importu mówie tam tylko na tyle
na ile jest po potrzebne - uchodzi to jednak twojej wieprzowej narzucanej grupi
tępocie i w sumie bardzo dobrze
-
68. Data: 2018-09-12 19:55:18
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: s...@g...com
W dniu środa, 15 listopada 2017 06:10:23 UTC+1 użytkownik s...@g...com napisał:
> Witam
> W wielu "dużych", "profesjonalnych" i "popularnych" programach obserwuję zjawisko
wyłączania z exe całego kodu aplikacji.
> Moje pytanie brzmi: Dlaczego wyłącza się dll z exe?
Z prostej przyczyny: Te aplikacje mają pluginy które korzystają z Api aplikacji. I
żeby nie robić korowodów te aplikacje są przeniesione do dll/so.