-
X-Received: by 10.31.161.87 with SMTP id k84mr492967vke.10.1512176536775; Fri, 01 Dec
2017 17:02:16 -0800 (PST)
X-Received: by 10.31.161.87 with SMTP id k84mr492967vke.10.1512176536775; Fri, 01 Dec
2017 17:02:16 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!peer02.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-medi
a.com!news.highwinds-media.com!m31no83746qtf.0!news-out.google.com!t48ni257qtc.
1!nntp.google.com!g35no83743qtk.1!postnews.google.com!glegroupsg2000goo.googleg
roups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 1 Dec 2017 17:02:16 -0800 (PST)
In-Reply-To: <2...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=37.47.16.111;
posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
NNTP-Posting-Host: 37.47.16.111
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Architektura aplikacji - powody wyłączania dll z exe
From: fir <p...@g...com>
Injection-Date: Sat, 02 Dec 2017 01:02:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Body-CRC: 588985468
X-Received-Bytes: 4931
Xref: news-archive.icm.edu.pl pl.comp.programming:211815
[ ukryj 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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=