Byla vydána červnová aktualizace aneb verze 2023.06-1 linuxové distribuce OSMC (Open Source Media Center). Z novinek lze zdůraznit povýšení verze multimediálního centra Kodi na 20. Na léto je plánováno představení nového vlajkového zařízení Vero, jež nahradí Vero 4K +.
Už zítra 7. června od 17 hodin proběhne SUSE Czech Open House 2023 aneb den otevřených dveří pražské pobočky SUSE. Těšit se lze na komentovanou prohlídku nebo přednášku o spotřebě procesorů.
Na vývojářské konferenci Applu WWDC23 byla představena řada novinek (cz): brýle Apple Vision Pro, MacBook Air 15” s čipem M2, Mac Studio s čipem M2 Max nebo M2 Ultra, Mac Pro s čipem M2 Ultra, iOS 17, iPadOS 17, macOS Sonoma, watchOS 10, …
Chystá se poslední jarní Virtuální Bastlírna. Nachystejte si ledové kávy, mojita a vodní chladiče a pojďte se se strahovskými bastlíři pobavit o technice a bastlení! Ptáte se, co mají bastlíři za novinky? Například se ukázalo, že OLED s SSD1306 ve skutečnosti nejsou nutně jen černobílé. Vyšla také nová verze KiCADu včetně betaverze pluginu pro tvorbu databázových knihoven pro KiCAD v InvenTree a na internetu se objevil USB
… více »6. červen je dnem za skutečný internet (neboli Světový den IPv6). Již tradiční příležitost urgovat svého ISP, kdy zavede do sítě IPv6, ale také příležitost šířit osvětu i mezi netechnické uživatele. V současnosti má IPv6 v ČR jen cca 20 % uživatelů (podle statistik společností Akamai a Google).
Festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí Maker Faire Prague 2023 proběhne o víkendu 10. a 11. června na Výstavišti Praha.
Byla vydána verze 8.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Projekty Blink a Blinkenlights dospěly do verze 1.0. Jedná se o x86-64-linux emulátor a jeho TUI nadstavbu sloužící jako debugger. Blink je v porovnání s qemu-x86_64 menší a rychlejší.
Bylo potvrzeno, že Debian 12 s kódovým jménem Bookworm vyjde v tuto sobotu 10. června.
Byla vydána nová verze 2023.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Zdůraznit lze předpřipravené obrazy pro Hyper-V nebo to, že ve výchozím prostředí Xfce bylo PulseAudio nahrazeno multimediálním serverem PipeWire.
Ř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: