-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)
- 2025-01-18 znowu kradno i sie nie dzielo
- 2025-01-18 Zieloni oszuchiści
- 2025-01-18 Zielonka => Specjalista ds. public relations <=
- 2025-01-18 Warszawa => Frontend Developer (JS, React) <=
- 2025-01-18 Warszawa => Software .Net Developer <=
- 2025-01-18 Warszawa => Developer .NET (mid) <=
- 2025-01-18 Katowice => Administrator IT - Systemy Operacyjne i Wirtualizacja <=
- 2025-01-17 Zniknął list gończy za "Frogiem". Frog się nam odnalazł?
- 2025-01-17 Kto wytłumaczy "głupiemu" prezydentowi Dudzie wielką moc prawną "dekretu premiera" TUSKA? [(C)Korneluk (2025)]