V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Řešení dotazu:
Nejde. Ale muzete to udelat bud pomoci sizeof, nebo sablon.
#include <iostream> #include <cstddef> template<std::size_t N_> std::size_t length(const char (&s)[N_]) { return N_; } int main(int argc, char** argv) { const char str[] = "Hello World!"; std::cout << sizeof(str) << ", " << length(str) << "\n"; std::cout << sizeof("Hello World!") << ", " << length("Hello World!") << "\n"; return 0; }
(Pozn.: oba dva zpusoby vraceji delku retezce vcetne ukoncovaciho null, tzn. o jednicku vetsi, nez co dava strlen().)
#include <iostream> int main() { char const *x = "Hello world!"; std::cout << x << ", " << sizeof(x) << "\n"; }vypise velikost ukazatele, ne delku retezce!
char
8 bitov.
Prenositelna verzia:
...
const char str[] = "Hello World!";
std::cout << sizeof(str)/sizeof(*str) << ", " << length(str) << "\n";
...
$ cat ll.c
#include <string.h>
#define STRLEN(x) strlen(x)
int main() {
return STRLEN("rozedeleny retezec" "neurcite delky");
}
$ ~/src/llvm/Debug/bin/clang -O2 -S ll.c -o -
.file "ll.c"
.text
.globl main
.align 16, 0x90
.type main,@function
main:
pushl %ebp
movl %esp, %ebp
movl $32, %eax
popl %ebp
ret
.Ltmp0:
.size main, .Ltmp0-main
.section .note.GNU-stack,"",@progbits
$ gcc -O2 -S ll.c -o -
.file "ll.c"
.text
.p2align 4,,15
.globl main
.type main, @function
main:
leal 4(%esp), %ecx
andl $-16, %esp
pushl -4(%ecx)
movl $32, %eax
pushl %ebp
movl %esp, %ebp
pushl %ecx
popl %ecx
popl %ebp
leal -4(%ecx), %esp
ret
.size main, .-main
.ident "GCC: (GNU) 4.3.2 20081105 (Red Hat 4.3.2-7)"
.section .note.GNU-stack,"",@progbits
Pro ty co nemaji radi assembler - nikde se nevola funkce strlen, ale rovnou se vrati konstanta 32 (delka retezce) v instrukcimovl $32, %eax
Tiskni
Sdílej: