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 [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
int rc; if (rc = pthread_attr_init(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_init() failed! ret = %d, %s\n", rc, strerror(rc)); } if (stack_size > 0) { if (rc = pthread_attr_setstacksize(&attr, stack_size) != 0) { fprintf(stderr, "ERROR: pthread_attr_setstacksize() failed! ret = %d, %s\n", rc, strerror(rc)); } } scheduler_start(curl, &attr); if (rc = pthread_attr_destroy(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_destroy() failed! ret = %d, %s\n", rc, strerror(rc)); }Přes mnoho pokusů se mi prostě nedaří a nevím, jak to správně zadeklarovat v mé funkci a předat.
void scheduler_init(CURL *ch, const pthread_attr_t *attr)Díky za pomoc.
Řešení dotazu:
#include <stdio.h> typedef struct { int vek; } osoba_t; void vypis_vek(osoba_t *osoba) { printf("Vek osoby: %d.\n", osoba->vek); } int main() { osoba_t osoba; osoba.vek=5; vypis_vek(&osoba); return 0; }
pthread.h:226:12: note: expected 'const union pthread_attr_t * __restrict__' but argument is of type 'const union pthread_attr_t **' extern int pthread_create (pthread_t *__restrict __newthread, ^ cc1: all warnings being treated as errors Makefile:134: recipe for target 'all' failed make[3]: *** [all] Error 1
#include <stdio.h> #include <pthread.h> #include <string.h> void scheduler_start(pthread_attr_t *attr) { } int main() { pthread_attr_t attr; int rc; int stack_size=50; if ((rc = pthread_attr_init(&attr)) != 0) { fprintf(stderr, "ERROR: pthread_attr_init() failed! ret = %d, %s\n", rc, strerror(rc)); } if (stack_size > 0) { if (rc = pthread_attr_setstacksize(&attr, stack_size) != 0) { fprintf(stderr, "ERROR: pthread_attr_setstacksize() failed! ret = %d, %s\n", rc, strerror(rc)); } } scheduler_start(&attr); if (rc = pthread_attr_destroy(&attr) != 0) { fprintf(stderr, "ERROR: pthread_attr_destroy() failed! ret = %d, %s\n", rc, strerror(rc)); } }
scheduler_start
předáváš attr
do pthread_create
zase jako &attr
. Tj. ukazatel na ten ukazatel, což je samozřejmě blbě.
Možná... pravděpodobně... na to aspoň vypadá ta chybová hláška. Tebe nenapadne, že by bylo dobré ukázat, co přesně děláš a na čem to řve, protože vůbec netušíš, co děláš. Tak si aspoň nevymýšlej nesmysly o tom, co bys taky napsal. Když nechápeš ukazatele, tak se o vlákna ani nepokoušej, protože to prostě nemužeš udělat správně. A protože tahle tvoje krávovina vlákna k ničemu nepotřebuje, tak je z toho konečně vyjeb.
Side note: rc
nebude obsahovat návratovou hovnotu z pthread_attr_init()
(jak mylně naznačuje chybová hláška použití strerror()
), nýbrž výsledek pohovnání návratové hovnoty s nulou, tedy vždy 0 nebo 1, páč 7 versus 14. V tomhle případě to sice nehraje (skoro) žádnou roli, ale pro pořádek by tam mělo být if ((rc = pthread_attr_init(&attr)) != 0) { ... }
.
Tiskni
Sdílej: