Společnost Red Hat slaví 30 let.
Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).
Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.
Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.
Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).
Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.
Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.
Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.
Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.
Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.
#include <jméno>
, tak nemůžu použít znak >
v názvu souboru, ale <
použít můžu. Pak že ve variantě #include "jméno"
nemůžu použít znak "
. A taky, že to neinterpretuje backslash sekvence jiné než newline-escape, (né \n
, ale \<opravdový newline>
). Já tu mám soubor, co má newline v názvu souboru, a nevím, jak ho includovat. Pan učitel tvrdí, že to jde a je to domácí úkol, ale už jsem zkusil snad všechno, ale nedaří se.
\r\n
//1 - bez newline #include "homework.h" //2 - newline v řetězci, hlásí, že chybí ukončovací ", // druhý řádek to nebere jako součást include directivy #include "homework .h" //3 - toto akorát udělá escape skutečného newline znaku v rámci // preprocesoru, výsledek je "homework.h" #include "homework\ .h" //4 - \n není bráno jako escape sekvence, ale jako součást názvu #include "homework\n.h" //5 - opět \n je součástí názvu #define HOMEWORK "homework\n.h" #include HOMEWORK
Jestli učitel zadává takové domácí úkoly, tak je to pitomec.
Použití \ v názvu souboru pro #include je implementačně závislé, tudíž to, že escape sekvence pomocí \ nefungují je zcela správně. Záviset na takovém chování může jedině blázen. Mimochodem, tohle omezení nejde obejít ani pomocí trigraphu ??/, protože trigraphy se interpretují jako první.
Standard sice povoluje použití jakéhokoli znaku z basic source character set, takže nejspíš i newline (až na tebou jmenované výjimky), ale okamžitě narazíš na problém, jak rozlišit normální odřádkování a znak nového řádku ve jménu souboru. To by se teoreticky dalo obejít tím, že bys ve zdrojácích odřádkovával pomocí DOS newlines (CR LF) a unixové odřádkování (LF) bys použil jen ve jménu souboru (nebo naopak). Ale zpracování je zase závislé na implementaci – clang a gcc obojí zpracuje jako normální odřádkování. Ani u jednoho se mi nepodařilo najít nějaký přepínač, kterým by se dal způsob odřádkování vynutit.
Jestli učitel zadává takové domácí úkoly, tak je to pitomec.Dobrý kus kreténa to musí být.
$ touch main.c
$ echo "int foo();" > "foo
> bar.h"
$ cpp -include "foo
bar.h" main.c
# 1 "main.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 1 "<command-line>" 2
# 1 "./foo
bar.h" 1
int foo();
# 1 "<command-line>" 2
# 1 "main.c"
$ cpp --version
cpp (GCC) 4.8.3
...
?
Btw, aká je to škola?
6.4.7 Header names Syntax header-name: < h-char-sequence > " q-char-sequence " h-char-sequence: h-char h-char-sequence h-char h-char: any member of the source character set except the new-line character and > q-char-sequence: q-char q-char-sequence q-char q-char: any member of the source character set except the new-line character and "Máte vôbec s učiteľom ujasnené, s akým kompilátorom to má chodiť?
Tiskni
Sdílej: