-
Data: 2017-12-02 02:02:16
Temat: Re: Architektura aplikacji - powody wyłączania dll z exe
Od: fir <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu sobota, 2 grudnia 2017 00:11:12 UTC+1 użytkownik M.M. napisał:
> On Friday, December 1, 2017 at 8:14:21 PM UTC+1, Roman Tyczka wrote:
> > On Fri, 1 Dec 2017 04:21:11 -0800 (PST), M.M. wrote:
> >
> > > Niepokoi mnie tylko jedno. W językach takich jak C, C++ , Pascal i w
> > > kilku innych, można zrobić:
> > >
> > > var = foo() // trudna do oszacowana wartość
> > > var(); // wywołanie funkcji
> > >
> > > Wiem że taka praktyka programistyczna jest bardzo zła, ale formalnie
> > > poprawna. Jak więc linkier / kompilator może ustalić, że pewne funkcje
> > > z libów można pominąć?
> >
> > Przecież robiąc to przypisanie dajesz znać, że tego używasz, zatem zostaje
> > nieusunięte, co tu niejasnego?
> >
>
> Ściślej, kompil000000ator 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?
>
widze ze ciezka niekumacja tu sie odwala (co jest troche smutne)
to co robi kompilator to poprostu buduje sekcje importow (ktora z tego co wiem nie
jest niczym innym co lista stringow) z symboli ktore
w zrodle sa oznaczone jako symbole
do importu
(z tego z kolei co wiem w zrodle c
jako symbole do importu sa oznaczane te symbole ktore nie sa
w nim zdefiniowane) (tj w przypadku dllek trzeba ztcw jawnie naisac
__declspec(dllimport) 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)
jesli var bedzie zadeklarowane jako taki symbol do importu np
void var(int);
to linker zrobi z tego symbol do importu, przypisanie nie ma tu ztcw nic do rzeczy, z
tego co kojarze takie przypisanie chyba raczej powinno wyrzicic blad bo to var chyba
nie jest tak do konca zmienną
(jest ew adresem funkcji w pamieci
wiec niby mozna tam cos wpisac, wiec moze i powinno byc dozwolone choc i tak wywola
segfault)
powtarzajac linker (wlasciwie
powinien to byc kompilator ale
ze wzgledu na to ze jak sie buduje sekcje importu symbol trzeba podpiac pod konkretna
nazwe dllki w ktorej ma byc on szukany i taki kompilator musi poszukac w jakiej
dllce ten symbol moze byc wiec robi nieststy jakby za linker) bedzie importowal
jedynie to co jest zadeklarowane jako symbole do importu
(przy okazji jest to doba ilustracja dlaczego czy tez na jakiej zasadzie "asembler"
czytez
"niskopoziomowa orientacja" przydaje sie by zrozumiec jasno
pewne rzeczy)
Następne wpisy z tego wątku
- 02.12.17 08:59 AK
- 02.12.17 09:15 AK
- 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
- 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??
- 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
Najnowsze wątki
- 2024-10-04 Warszawa => QA Engineer <=
- 2024-10-04 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-10-04 Warszawa => Senior PHP Laravel Developer (e-commerce) <=
- 2024-10-04 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-10-03 Nieparzyste dmuchanie
- 2024-10-03 Prognozowanie zużycia energii przez PGE?
- 2024-10-03 Re: Drugi ekran na Androidzie
- 2024-10-03 sprawiedliwosc nierychliwa
- 2024-10-03 zloto
- 2024-10-03 Odkurzacz mnie bije :(
- 2024-10-03 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-03 Warszawa => Mid IT Recruiter <=
- 2024-10-03 Olsztyn => Sales Specialist <=
- 2024-10-03 Leszczyna nie zna prawa?
- 2024-10-03 Warszawa => OpenText ECM Specialist <=