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:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

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

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 1
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 16
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2501 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: „corrupted size vs. prev_size“

    3.8.2018 18:16 c
    „corrupted size vs. prev_size“
    Přečteno: 3200×
    Program mi pocas behu skonci chybou:
    corrupted size vs. prev_size
    Jedna sa o jednoduchy program. Vo vykonavai programi nepouzivam ani malloc/realloc. Iba signal() a kill().

    Netusim, co moze byt zle.

    Prejavuje sa to raz zo 200 krat vykonavania programu.

    Odpovědi

    3.8.2018 20:09 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Ak dobre chápem, tak ide o hlášku z runtime knižnice, ktorá hlási poškodenie heap-u. Môžeš to pustiť pod Valgrind-om? Používaš tam nejaké polia? Pointre?
    6.8.2018 12:14 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Spustil som to, ale chyba sa prejavuje 1 zo 100-1000 spusteni, takze to trocha potrva. Ake tam parametre mam pouzit?

    Maximalne malloc a free. ... pointre pouzivam .... spracovanie textovych suborov ...
    6.8.2018 14:06 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Parametre valgrindu? V prvom kole žiadne. Ja občas používam --leak-check=full. Ale tu asi nejde o leakovanie pamäte, ale asi double-free, alebo pointer, čo smeruje nikam úplne mimo.

    Odporučil by som každé "free(p);" zmeniť na "free(p);p=NULL;".
    6.8.2018 16:26 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Asi som nasiel chybu po pouzitia valgrinda.

    Mam implementaciu
    char *strcat_malloc(char *s1, char *s2)
    a vysledna dlzka retazca je:
    strlen(s1)+strlen(s2)
    a ja som dal:
    strlen(s1)+strlen(s2)+1
    6.8.2018 19:27 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    const char *s1="a";
    const char *s2="bc";
    
    strlen(s1)+strlen(s2); // znamená: strlen(s1)==1, strlen(s2)==2, na reťazec "abc" potrebuješ alokovať 4 bajty
    char *result=malloc(strlen(s1)+strlen(s2)+1); // je 1+2+1=4 a to je správne
    strcpy(result,s1);
    strcat(result,s2);
    
    Ale keď, už raz valgrind na niečo ukáže, tak sa tam treba dobre poobzerať.
    6.8.2018 22:01 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    char *strcat_malloc(const char *first, const char *second)
    {
    	long int l1;
    	long int l2;
    	long int lenght;
    	
    	char *ret;
    	
    	if(first == NULL || second == NULL)
    		return NULL;
    	
    	l1=strlen(first);
    	l2=strlen(second);
    	
    	lenght=l1+l2+1;
    	ret=(char *) malloc(lenght);
    	if(ret == NULL)
    		return NULL;
    		
    	bzero(ret,lenght);
    	
    	memcpy(ret, first, l1);
    	memcpy(ret+l1, second, l2);
    	ret[l1+l2]='\0';
    	
    	return ret;
    }
    6.8.2018 23:01 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    Tam chyba nie je. Možno v pointroch, ktoré tam prídu ako parameter.
    7.8.2018 07:44 c
    Rozbalit Rozbalit vše Re: „corrupted size vs. prev_size“
    To je uz opravene.

    Chybny riadok tam bol:
    ret[l1+l2+1]='\0';
    
    ktory som opravil na
    ret[l1+l2]='\0';
    
    Ak by som vobec nemal ten riadok, tak funkcia by fungovala spravne (alokovanu pamet nulujem, aj poziciu pre \0)

    Založit nové vláknoNahoru

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

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