abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:11 | Nová verze

    Linus Torvalds vydal jádro Linux 7.0. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    dnes 02:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME? Pravidelný přehled novinek v Týden v GNOME. Vypíchnout lze novou verzi 2026.1 přehrávače hudby Amberol (Flathub).

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Byla vydána verze 12.0 s kódovým jménem Ecne linuxové distribuce Trisquel GNU/Linux. Založena je na Ubuntu 24.04 LTS a podporována bude do roku 2029. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 9. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    11.4. 18:33 | Komunita

    Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.

    Ladislav Hagara | Komentářů: 0
    11.4. 03:11 | Zajímavý software

    Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.

    » FIDESZ🧡! « | Komentářů: 10
    10.4. 23:33 | Nasazení Linuxu

    Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.

    » FIDESZ🧡! « | Komentářů: 28
    10.4. 05:22 | IT novinky

    Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.

    Ladislav Hagara | Komentářů: 6
    10.4. 03:33 | Nová verze

    Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.

    |🇵🇸 | Komentářů: 0
    9.4. 19:22 | IT novinky

    Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 1283 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    0

    11.3.2017 20:27 | Ostatní | poslední úprava: 23.5.2025 13:04

    0        

    Hodnocení: 17 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ⧠ A = 0 avatar 11.3.2017 20:43 ⧠ A = 0 | skóre: 11 | blog: Technokratovo_zrcadlo | Helsinki
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    А какой же это блог?
    Nevolte zmrdy.
    11.3.2017 21:34 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Definície (lokalných) funkcií nedefinuj v main(), ale mimo main(), pred definície globalných premenných.

    Píš štylom, že main() funkcia je ako posledná v zdrojáku, alebo na konci je posledná najdôležitejšia funkcia v zdrojáku, ak sa tam nenachádza funkcia main.

    Tá podmienka if je zbytočná:
    if (str[strlen(str) - 1] == '\n')
       str[strlen(str) - 1] = '\0';
    Lebo:
    fgets()  reads in at most one less than size characters from stream and
           stores them into the buffer pointed to by s.
    echo -e "123456"|./check_end_fgets 
    49 '1'
    50 '2'
    51 '3'
    0 ''
    
    Testovací kód:
    #include <stdio.h>
    #include <stdlib.h>
    
    void check_end_fgets()
    {
    	char buffer[4];
    	int a;
    	char *p;
    	
    	if(fgets(buffer, 4, stdin) == NULL)
    		return;
    	
    	for(p=buffer,a=0;a<4 && *p != '\n'; a++,p++)
    		printf("%d '%c'\n", *p, *p);
    	
    }
    
    int main(void)
    {
    	check_end_fgets();
    	return 0;
    }
    
    11.3.2017 21:52 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Máš chybu:
    echo "LLLLLLLLLLLLLL"|./cod
    upper macro: 7
    ctype function: 14
    
    Oprav si chybu vo funkcií uppermacro().
    12.3.2017 07:38 sad
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Tu chybu jsem tam udělal schválně. Jedná se o srovnání dvou stejných funkcí, které vrací počet velikých písmen s tím rozdílem, že jedna používá vlastní makro myupper() a druhá funkci isupper() ze standardní knihovny.

    Problém je v tom, že se ta dekrementace do makra přenese dvakrát:
    ((*str++) >= 'A' && (*str++) <= 'Z')
    
    12.3.2017 07:39 sad
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Inkrementace.
    12.3.2017 09:17 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Proto je např. v manuálové stránce ke getc() upozornění, že na rozdíl od fgetc() může být implementována jako makro, které argument vyhodnocuje víc než jednou.
    12.3.2017 09:54 sad
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Tak to jsem nevěděl. Díky za upozornění.
    11.3.2017 21:26 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Hodil by se k tomu nejaky komentar...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    11.3.2017 21:57 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Pozri komentár na konci zdrojáku.
    12.3.2017 11:08 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Poznáš príkaz:
    cpp source.c -o source_cpp.h
    12.3.2017 13:02 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Ano, znam preprocesor i jeho ulohu a to do te miry, abych vedel, ze vystupem preprocesoru neni hlavickovy soubor, ale soubor ciste v jazyce C.

    Jinak ma poznamka se tykala toho, ze bez dalsiho komentare je ten clanek zbytecny. Trochu zkuseny programator na prvni pohled vidi, v cem je problem. Zacatecnikovi to moc nerekne a ani nevi, jak se z toho poucit pri psani maker.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    11.3.2017 23:48 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    #define myupper(c) ((c) >= 'A' && (c) <= 'Z')

    se dá nahradit něčim jako

    #define myupper(c) ((unsigned long)(c - 'A') <= 'Z' - 'A')

    (ale je to trochu prasárna)
    12.3.2017 02:30 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    C makra? Tohle byla taky vtipná situace. Stringifikace jména argumentu pro vnitřní makro :-D.
    13.3.2017 19:48 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Side Effects of C Macros
    Pouzivat makra na toto je antipattern a stejne tak je antipattern inkrementovat argument v ramci volani procedury, ktera je v tomto pripade jeste k tomu makrem. Vede to k errorprone kodu, ktery se neda cist. Vice radek muze byt nekdy citelnejsi.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.