Hirdetés
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Melyik tápegységet vegyem?
- AMD Navi Radeon™ RX 9xxx sorozat
- Projektor topic
- Effektíve TKL méretűek a Corsair legújabb, numerikus paddal ellátott klaviatúrái
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Vezetékes FEJhallgatók
- Milyen SSD-t vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Azonnali alaplapos kérdések órája
Új hozzászólás Aktív témák
-
buherton
őstag
Nekem eddig egyszer sikerült két csillagos pointert leírnom a saját kódban, mert azzal volt a leghatékonyabb. Különben mindig kerülöm a használatát, mert az ember gyorsan bele tud zavarodni. Ezt javaslom neked is. A Linux függvényei közül is eddig csak eggyel találkoztam, amit két csillagot várt: scandir
u8b data[] -> ez nagyon csúnya.
Mitől csúnya? Inkább u8b* data legyen? Még előnybe részesítem a tömböket a pointerekkel szemben, mivel azokat könnyebben kezelem. 8bites uC-n is könnyebben nyomon tudom követni, hogy mennyi RAM-ot is használok...u8b data[] -> ezzel fölöslegesen foglalsz 512 bájtot a stacken, ami ugye még processzor idő is. Használj pointert. (Egy ilyen miatt én simán buktatnék egyetemen.)
A fordítótól függ, hogy hogyan align-olja a structúra változóit. Bár ez 8 bites, így nem valószínű, hogy máshogy align-olna, de a hordozhatóságot javítja.
, majd ha másolom/küldöm az adatcsomagot akkor a b[]-t használom.
Másolás ->memcpy, küldés bájtonként pedig char*-al tudsz küldeni. Ergo nem kell a union. Nem is értettem az elején, hogy miért is kellett.
dns_answer*& dns_response
Szerintem így sokkal olvashatóbb és nem utolsó sorban sokkal helytakarékosabb és gyorsabb.
void get_data_from_dns_reply(u8b* data, dns_header* dns_resp_header, dns_answer*& dns_response)
{
memcpy(dns_resp_header, data, 12);
dns_response = (dns_answer*)malloc(htons(dns_resp_header->answer_rrs.i) * sizeof(dns_answer));
for(; data[i] != 0; i++)
{
i += data[i];
}
i += 5;
for(u16b j = 0; j < htons(dns_resp_header->answer_rrs.i); j++)
{
i += 12;
memcpy(dns_response[j].data, &data[i], 4);
i++;
}
}MOD: ezen a kódon még bőven lehetne optimalizálni, csak nem látom a többi részt.
MOD2: jah és igen. Malloc + 8 bites MCU? Remélem fut valamilyen OS ezen program alatt, ami a fizikai memóriát rendezi, mert az ilyen malloc-olás magában hordozza azt, hogy a kész programod egyszer beáll, mint a szög. A beágyazott rendszerben alapvetően tiltott a malloc használata.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- One otthoni szolgáltatások (TV, internet, telefon)
- The Crew sorozat
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iPhone topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- LEGO klub
- Trollok komolyan
- További aktív témák...
- Playstation 5 lemezes - Gran Turismo 7, Tony Hawk's Pro Skater 1-2 eladó!
- ROG Ally (2023) RC71L + JSAUX HB1201S
- Vadonatúj, bontatlan iPhone AIR 256GB fekete és kék KÁRTYAFÜGGETLEN! 1 év Apple garancia!
- 3D nyomtatás kiváló minőségben / számlával / akár 9 színnel / széles anyagválaszték,
- HP,15.6",250 G6,8.gen.core i5 (8X4,0Ghz)8-32GB RAM,256GB-1TB SSD,nagyon jó akku,Win.11,szép
- Samsung Galaxy S20 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- RÉSZLETRE . OPCIONÁLIS. HP EliteBook 840 G11 üzleti prémium laptop számlával és garanciával
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3082
- BLUESUMMERS NVMe SSD adapter
- Akció! Paidashu 10600MAH / 20700MAH Powerbank olcsón!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest