Hirdetés
- Hamarosan körbefotózza a Google a Balatont
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Külföldi prepaid SIM-ek itthon
- Apple iPhone 17 - alap
- Yettel topik
- Google Pixel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- iPhone topik
- Motorola Edge 50 Ultra - szépen kifaragták
Új hozzászólás Aktív témák
-
G.A.
aktív tag
válasz
buherton
#5850
üzenetére
Köszönöm a gyors választ.
dns_answer local_answer -> ez nincs használva.
dns_response -> nincs deklarálva.
local_dns_resp -> nincs deklarálva.
...
dns_answer** answer -> ezt nem használod semmire.A problémás kódrészt próbáltam leegyszerűsítve a hozzászólásba beírni, közben sikerült nekem is belezavarodnom és elírnom.
dns_answer local_answer = local_dns_resp
dns_answer** answer = *dns_responseu8b 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...A struct-hoz erősen javaslok egy packed attribute-omot.
Hobbi programozóként nem tudom mit jelent... mire használható.Minek union?
Megint uC-re hivatkozok. Anno #define-t használtam egy tömb változóinak az azonosításához. Ezt cseréltem le unionba ágyazott struktúrákkal. Így értem:typedef union udpv4_header
{
struct
{
my_16b src_port;
my_16b dst_port;
my_16b length;
my_16b checksum;
};
u8b b[8];
}udpv4_header;
A struktúrát használom egy konkrét változó módosításához, majd ha másolom/küldöm az adatcsomagot akkor a b[]-t használom.miért is nem memcpy-k?
Szintén egy hiányosságom. Még nem tanultam meg a használatát...Közben szerintem meglett a megoldás(működik). Ez lett a function() módosított kódja:
void get_data_from_dns_reply(u8b* data, dns_header* dns_resp_header, dns_answer*& dns_response)
{
u8b i = 0;
for (; i < 12; i++)
{
dns_resp_header->b[i] = data[i];
}
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;
for (u8b x = 0; x < 4; x++, i++)
{
dns_response[j].data.b[x] = data[i];
}
}
}
Ú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!
- Arc Raiders
- Facebook és Messenger
- Mindenféle könyves (és olvasós) Off topic
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- AMD Navi Radeon™ RX 9xxx sorozat
- Kormányok / autós szimulátorok topikja
- Formula-1
- Hamarosan körbefotózza a Google a Balatont
- Milyen széket vegyek?
- Napelem
- További aktív témák...
- Eladó Független Samsung Galaxy S23 SM-S911B/DS apró hibával
- 16GB DDR4 3200Mhz ram
- Supra LoRad 2.5 Silver Anniversary edition 1,5 m
- HP EliteBook 840 G7 i5-10310U - TOUCH 16GB RAM 256GB NVMe világítós billentyűzet, üzleti laptop
- Philips 34" 34M2C3500L/00 WQHD VA 180Hz HDMI/DP ívelt gamer monitor (019)
- Eladó ASUS TUF Gaming F15 (TUF507ZV4-LP121W) i7, 24gb ram RTX 4060, gamer laptop!
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- 206 - Lenovo Legion Slim 7 (16IRH8) - Intel Core i7-13700H, RTX 4060 (ELKELT)
- Dobozos! Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

