Thread View: pl.comp.lang.c
10 messages
10 total messages
Started by Borneq
Tue, 01 Jan 2019 04:13
Emulacja C++ przez C
Author: Borneq
Date: Tue, 01 Jan 2019 04:13
Date: Tue, 01 Jan 2019 04:13
8 lines
1233 bytes
1233 bytes
Klasy można emulować przez struktury, wywołanie metod przez funkcje, z których pierwszy parametr to wskaźnik na strukturę. Metody wirtualne - trzeba tablicę funkcji, a obiekt będzie strukturą, gdzie pierwsze pole to wskaźnik na tę tabelę. Dziedziczenie - trudno, pola będą się powtarzać Hermetyzacja - wszystkie publiczne Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak setjmp/longjmp
Re: Emulacja C++ przez C
Author: Sebastian Biały
Date: Tue, 01 Jan 2019 15:47
Date: Tue, 01 Jan 2019 15:47
7 lines
1185 bytes
1185 bytes
On 01/01/2019 05:13, Borneq wrote: > Klasy można emulować [...] Już to wymyślili, np. nazywało się SasC i było popularne w latach 90tych na maszynach takich jak Amiga choć mało kto wtedy pisał w C++. Zakończyło się, o ile pamiętam, częściowym wsparciem dla C++ którego nikt na poważnie nie chciał.
Re: Emulacja C++ przez C
Author: AMX
Date: Wed, 19 Apr 2023 21:31
Date: Wed, 19 Apr 2023 21:31
11 lines
1040 bytes
1040 bytes
On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <borneq@antyspam.hidden.pl> wrote: > Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak > setjmp/longjmp Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch ale wystarczająco skuteczne. -- adres w rot13 Nyrxfnaqre Znghfmnx r-znk@b2.cy
Re: Emulacja C++ przez C
Author: Ghost
Date: Fri, 21 Apr 2023 04:49
Date: Fri, 21 Apr 2023 04:49
10 lines
1544 bytes
1544 bytes
W dniu 19.04.2023 o 23:31, AMX pisze: > On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <borneq@antyspam.hidden.pl> wrote: >> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >> setjmp/longjmp > > Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch > ale wystarczająco skuteczne. Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak odwijania stosu z wolaniem destruktorow.
Re: Emulacja C++ przez C
Author: Maciek Godek
Date: Fri, 21 Apr 2023 06:38
Date: Fri, 21 Apr 2023 06:38
12 lines
2134 bytes
2134 bytes
piątek, 21 kwietnia 2023 o 06:49:05 UTC+2 Ghost napisał(a): > W dniu 19.04.2023 o 23:31, AMX pisze: > > On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <bor...@antyspam.hidden.pl> wrote: > >> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak > >> setjmp/longjmp > > > > Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch > > ale wystarczająco skuteczne. > Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak > odwijania stosu z wolaniem destruktorow. Z drugiej strony, w języku C nie ma destruktorów, więc to raczej bez różnicy.
Re: Emulacja C++ przez C
Author: Kamil Jońca
Date: Fri, 21 Apr 2023 06:42
Date: Fri, 21 Apr 2023 06:42
22 lines
2072 bytes
2072 bytes
Maciek Godek <godek.maciek@gmail.com> writes: > piątek, 21 kwietnia 2023 o 06:49:05 UTC+2 Ghost napisał(a): >> W dniu 19.04.2023 o 23:31, AMX pisze: >> > On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <bor...@antyspam.hidden.pl> wrote: >> >> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >> >> setjmp/longjmp >> > >> > Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch >> > ale wystarczająco skuteczne. >> Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak >> odwijania stosu z wolaniem destruktorow. > > Z drugiej strony, w języku C nie ma destruktorów, więc to raczej bez różnicy. Myślę że pisząc o "wołaniu destruktorów" autor miał na myśli automatyczne niszczenie obiektów/zwalnianie pamięci, które przy throw dzieje się magicznie a przy longjmp trzeba o tym myśleć. Mylę się? KJ -- http://stopstopnop.pl/stop_stopnop.pl_o_nas.html
Re: Emulacja C++ przez C
Author: Ghost
Date: Fri, 21 Apr 2023 06:53
Date: Fri, 21 Apr 2023 06:53
15 lines
1865 bytes
1865 bytes
W dniu 21.04.2023 o 08:38, Maciek Godek pisze: > piątek, 21 kwietnia 2023 o 06:49:05 UTC+2 Ghost napisał(a): >> W dniu 19.04.2023 o 23:31, AMX pisze: >>> On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <bor...@antyspam.hidden.pl> wrote: >>>> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >>>> setjmp/longjmp >>> >>> Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch >>> ale wystarczająco skuteczne. >> Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak >> odwijania stosu z wolaniem destruktorow. > > Z drugiej strony, w języku C nie ma destruktorów, więc to raczej bez różnicy. "emulacja c++"
Re: Emulacja C++ przez C
Author: Ghost
Date: Fri, 21 Apr 2023 06:54
Date: Fri, 21 Apr 2023 06:54
22 lines
2204 bytes
2204 bytes
W dniu 21.04.2023 o 08:42, Kamil Jońca pisze: > Maciek Godek <godek.maciek@gmail.com> writes: > >> piątek, 21 kwietnia 2023 o 06:49:05 UTC+2 Ghost napisał(a): >>> W dniu 19.04.2023 o 23:31, AMX pisze: >>>> On Tue, 1 Jan 2019 05:13:44 +0100, Borneq <bor...@antyspam.hidden.pl> wrote: >>>>> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >>>>> setjmp/longjmp >>>> >>>> Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch >>>> ale wystarczająco skuteczne. >>> Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak >>> odwijania stosu z wolaniem destruktorow. >> >> Z drugiej strony, w języku C nie ma destruktorów, więc to raczej bez różnicy. > > Myślę że pisząc o "wołaniu destruktorów" autor miał na myśli > automatyczne niszczenie obiektów/zwalnianie pamięci, które przy throw > dzieje się magicznie a przy longjmp trzeba o tym myśleć. Mylę się? nie, mialem na mysli wolanie destruktorow, zwalnianie pamieci to rzecz wrtorna
Re: Emulacja C++ przez C
Author: AMX
Date: Fri, 21 Apr 2023 19:58
Date: Fri, 21 Apr 2023 19:58
22 lines
1439 bytes
1439 bytes
On Fri, 21 Apr 2023 06:49:01 +0200, Ghost <Ghost@heaven.net> wrote: >>> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >>> setjmp/longjmp >> >> Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch >> ale wystarczająco skuteczne. > > Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak > odwijania stosu z wolaniem destruktorow. > W C - gdzie jest setjmp/longjmp - nie ma destruktorów, więc to, że nie są wywoławane nie wydaje się być istotne =:-) W C++ mamy destruktory i używamy throw-catch. AMX -- adres w rot13 Nyrxfnaqre Znghfmnx r-znk@b2.cy
Re: Emulacja C++ przez C
Author: Ghost
Date: Sat, 22 Apr 2023 06:37
Date: Sat, 22 Apr 2023 06:37
21 lines
1927 bytes
1927 bytes
W dniu 21.04.2023 o 21:58, AMX pisze: > On Fri, 21 Apr 2023 06:49:01 +0200, Ghost <Ghost@heaven.net> wrote: >>>> Natomiast czym można by zastąpić wyjątki? w C było coś takiego jak >>>> setjmp/longjmp >>> >>> Było, jest, działa. Użycie jest mniej przejrzyste niż throw-catch >>> ale wystarczająco skuteczne. >> >> Ta skutecznosc ma sporo morderczych (nomen omen) wyjatkow, np. brak >> odwijania stosu z wolaniem destruktorow. >> > > W C - gdzie jest setjmp/longjmp - nie ma destruktorów, więc to, > że nie są wywoławane nie wydaje się być istotne =:-) > > W C++ mamy destruktory i używamy throw-catch. > > AMX no dzieki, czlowiek nawet po 35 latach programowania w c++ moze sie czegos nauczyc
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads