- Samsung Galaxy S23 Ultra - non plus ultra
- Bivalyerős lett a Poco F6 és F6 Pro
- Asus Zenfone 10 - kicsit más az új kicsi
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Motorola Edge 30 Neo - wake up, Jr...
- Android szakmai topik
- Magisk
- Vodafone mobilszolgáltatások
- Ezek a OnePlus 12 és 12R európai árai
- Poco F3 - a mindenes, de nem mindenkinek
Hirdetés
-
Megjelenési dátumot kapott a Tomb Raider animációs sorozat
gp A tervek szerint október elején debütál a teljes első évad Netflixen.
-
Mobvoi TicWatch Pro 5 Enduro - kitartás kartárs?
ma WearOS 3.5, két kijelző, hosszú üzemidő, és zavaró apróságok a legújabb TicWatch modellben.
-
Összemoshatja a Google és a Magic Leap a valódi és a digitális világokat
it Együttműködésbe kezdett a Google és a Magic Leap nevű AR-startup.
Új hozzászólás Aktív témák
-
bucsupeti
senior tag
végigiterálsz a sztringen karakterenként. a karaktert átalakítod 0-15 közti számértékké (ascii tábla tanulmányozása után egy egyszerű kivonás lesz az átalakítás) megszorzod 16-al, majd beolvasod a következőt számmá alakítod és az előző értékhez hozzáadod. ez lesz a tömböd első eleme. ezt a metódust folytatod amíg a végére nem érsz a sztringnek.
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
dabadab
titán
Ez veletlenul nem C#?... Mert akkor inkabb a C# programozás topikban erdemes kerdezni.
[ Szerkesztve ]
DRM is theft
-
buherton
őstag
Ha 8 bites mikrokontrollereken akarsz programozni, akkor felejtsd el a C#-t. C-zél vagy esetleg C++, de először a C-t javaslom.
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
dabadab
titán
Nyolc bites mikroprocesszoron a C# egyreszt nem letezik, masreszt technikailag kb. lehetetlen megvalositani, harmadreszt meg ha megis sikerul, akkor se akarna senki se hasznalni. (oke, mondjuk a C++ se hangzik tul hihetoen, sot, igazan a C is eleg hatareset)
"Nekem a C, C++ és a C# egy kalap alatt van."
Pedig azert eleg messze vannak egymastol: a C gyakorlatilag hordozhato Assembler a hatvanas evek vegerol, a C# meg nagyjabol minden modern paradigmat (objektumorientacio, generikus programozas, funkcionalis programozas, mittomen) tamogato, virtualis gepen futo cucc.
DRM is theft
-
buherton
őstag
dns_answer local_answer -> ez nincs használva.
dns_response -> nincs deklarálva.
local_dns_resp -> nincs deklarálva.
A struct-hoz erősen javaslok egy packed attribute-omot.
dns_answer** answer -> ezt nem használod semmire.
u8b data[] -> ez nagyon csúnya.
Minek union?
A for ciklikusok, miért is nem memcpy-k? Ez nem C++ ahol számít, hogy a konstruktor adott esetben meghívódjon.A hiba itt van:
*dns_response[i] -> *(dns_response[i]);
szerintem így helyes, de lehet, hogy nekem van nagyon péntek este.[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
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.
[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
Ú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!
- Brother DCP-L2532DW wifis, multifunkciós lézernyomtató
- HP Pavilion x360 14-ek Convertible - ÚJ - 14" TOUCH notebook - i5-1235U, 16GB, 512SSD, Win11
- HP Spectre x360 16-aa0775ng - ÚJ - 16"-os OLED notebook - Intel U7 155H
- Apple 96W USB-C hálózati adapter / töltő
- 189 cm-es (75"-es) Ambilight Philips 75PUS7354/12 OLVASD VÉGIG!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs