-
X-Received: by 10.31.164.205 with SMTP id n196mr101734vke.22.1502484196293; Fri, 11
Aug 2017 13:43:16 -0700 (PDT)
X-Received: by 10.31.164.205 with SMTP id n196mr101734vke.22.1502484196293; Fri, 11
Aug 2017 13:43:16 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.c
om!nntp.giganews.com!u14no82956ita.0!news-out.google.com!i9ni209qte.0!nntp.goog
le.com!w51no392743qtc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!
not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 11 Aug 2017 13:43:15 -0700 (PDT)
In-Reply-To: <a...@n...v.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=91.239.249.107;
posting-account=2vJOHAoAAAD7bZT1IJliVG4MXTFDb1W2
NNTP-Posting-Host: 91.239.249.107
References: <om4qli$mfm$1@node2.news.atman.pl>
<a...@n...v.pl>
<omcv1l$h2o$1@node1.news.atman.pl>
<a...@n...v.pl>
<f...@g...com>
<a...@n...v.pl>
<4...@g...com>
<a...@n...v.pl>
<d...@g...com>
<a...@n...v.pl>
<5...@g...com>
<a...@n...v.pl>
<f...@g...com>
<a...@n...v.pl>
<5...@g...com>
<a...@n...v.pl>
<1...@g...com>
<omi0ce$trs$1@node2.news.atman.pl>
<a...@n...v.pl>
<5...@g...com>
<b...@g...com>
<omifua$d2f$1@node2.news.atman.pl>
<9...@g...com>
<a...@n...v.pl>
<e...@g...com>
<a...@n...v.pl>
<b...@g...com>
<a...@n...v.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Rust
From: k...@g...com
Injection-Date: Fri, 11 Aug 2017 20:43:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 61
Xref: news-archive.icm.edu.pl pl.comp.programming:210984
[ ukryj nagłówki ]Po pierwsze zgadzam się, że sytuacja kompatybilności kodu w C jest
tragiczna i w żadnym wypadku nie miałem zamiaru grać adwokata
diabła:)
W dniu piątek, 11 sierpnia 2017 22:03:12 UTC+2 użytkownik slawek napisał:
> Tyle że program napisany w 1975 raczej nie będzie z nim zgodny. Nawet
> taki z 1995 (program, biblioteka) nie skompiluje się bezstresowo. Nie
> tylko rozmiar int (bywa że 16 bitów, bywa 64), ale np. wskaźniki far
> i takie tam.
Kwestia rozmiaru inta została zaprotezowana przez stdint.h i te piękności
typu uint8_t czy uint_least64_t, podejrzewam, że komitet uznał to za
lepsze rozwiązanie niż przyjęcie jakiegoś jedynego słusznego rozmiaru.
Jak wyszło tak wyszło, legacy kod który korzysta wprost z jakiejś
konkretnej wielkości inta się sam nie zmodyfikował.
> Ciekawostką jest że Turbo C nie obsługuje przecinka, tj. nie da się
> napisać x = ( a = 1, b = 2); itp. Czyli znowu problemy z
> przenośnością i z implementacją standardu.
DOSowe kompilatory były tragiczne pod tym względem - wspomniane przez
Ciebie bliskie i dalekie wskaźniki i bardzo średnia implementacja
standardu. Dziękuję za ciekawostkę, bo nie widziałem Turbo C od
"dość" dawna:)
>Nawet dość niedawno musiałem żonglować opcją std w GCC. O
>(domyślnie) nie działającym printf w MSVC chyba też wiesz.
Dość niedawno musiałem żonglować opcją std przy portowaniu
pewnej małej biblioteki pythonowej na OS X, bo okazało się,
że kawałek kodu w C był traktowany przez clanga jako literalne
C90 i odmawiał kompilacji czegoś w stylu
void f(int n) { int array[n]; ........ }
slawek:
>Akurat MSVC miał awersję do VLA. Tyle że od zawsze, czyli jeszcze
>przed C89, bez trudu da się zrobić tablice dynamiczne bez VLA. Tylko
>trzeba umieć programować w C.
Pewnie, że się da, ale jeżeli mam do wyboru użyć wbudowanej funkcji
języka albo wymyślać koło na nowo, to użyję wbudowanej funkcji języka
pod warunkiem, że 1) robi to, czego potrzebuję, 2) na tyle szybko,
na ile potrzebuję.
Następne wpisy z tego wątku
- 12.08.17 07:04 slawek
- 12.08.17 07:25 slawek
- 12.08.17 15:56 s...@g...com
- 12.08.17 15:59 s...@g...com
- 12.08.17 19:08 slawek
- 12.08.17 20:17 Wojciech Muła
- 12.08.17 20:27 slawek
- 12.08.17 20:41 slawek
- 12.08.17 20:46 slawek
- 12.08.17 20:53 slawek
- 12.08.17 20:56 slawek
- 12.08.17 20:57 slawek
- 13.08.17 05:26 M.M.
- 13.08.17 06:01 Wojciech Muła
- 13.08.17 07:29 slawek
Najnowsze wątki z tej grupy
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-27 Re: Prywatny parking? Pierwsze 10 minut bezplatnie
- 2024-06-27 A co mnie to koooorwa obchodzi?
- 2024-06-28 nawigacja satelitarna
- 2024-06-28 SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- 2024-06-27 położyłem kafelki
- 2024-06-28 Łódź => International Freight Forwarder <=
- 2024-06-28 Łódź => Spedytor Międzynarodowy <=
- 2024-06-28 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-06-28 Sopot => Team Leader E-Commerce for Foreign Markets <=
- 2024-06-28 Warszawa => Senior React Native Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Software .Net Developer <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=
- 2024-06-28 Warszawa => Programista Full Stack .Net <=
- 2024-06-28 Warszawa => Frontend Developer (React) <=