Hirdetés
- Hírértékűvé tette a Lenovo, hogy az ASUS támogatja a kézikonzolját
- Mobilhálózatokra szabott EPYC-kel ugrik az 5G-s homokozóba az AMD
- Kiemelt figyelmet fordít a biztonságra az MSI szélsebes SSD-je
- Kis híján zsebre vágható 2 az 1-ben gépet villantott a TENKU
- A végletekig optimalizálja a SensorPaneleket az új AIDA64
- Milyen TV-t vegyek?
- Milyen billentyűzetet vegyek?
- Vezeték nélküli fülhallgatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kormányok / autós szimulátorok topikja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Vezeték nélküli fejhallgatók
- Idővel kicsúszik az aljzatból a 12V-2x6 tápkonnektor?
- Milyen hangkártyát vegyek?
Új hozzászólás Aktív témák
-
G.A.
aktív tag
Üdv!
8Bites mikróvezérlőhöz írogatok kódot, amit VS 2015-ben (C++) tesztelek.
A vezérlőre írt kódot C-ben írom, de a teszthez használt segédfunkciókhoz C++-t is használok.A probléma:
globális struktúra (pontosabban union) tömböt(pointert?) szeretnék funkcióval manipulálni (méret megadása, adatokkal feltöltés)Kódban kifejezve:
typedef union dns_answer
{
struct
{
my_16b name;
my_16b type;
my_16b rrs_class;
my_32b ttl;
my_16b rd_length;
my_32b data;
};
u8b b[16];
}dns_answer;
void function(u8b data[], dns_answer** answer)
{
dns_answer local_answer;
*dns_response = (dns_answer*)malloc(data[7] * sizeof(dns_answer));
for(u8b i = 0; i < data[7]; i++)
{
for (u8b x = 0; x < 4; x++)
{
local_answer.data.b[x] = data[x];
//*dns_response[i].data.b[x] = data[x];
}
*dns_response[i] = local_dns_resp; // HIBA ITT
}
}
dns_answer* answer_array = NULL;
u8b data[512] = {};
int main(void)
{
...
function(data, &answer_array);
...
}Ezzel a kóddal jelenleg az a problémám, hogy:
Ha érkezik egy adatcsomag(DNS üzenet), ahol több válasz van (data[7] > 1), akkor a jelölt helyen (HIBA ITT)
áll meg a kód... Hibaüzenet: Access violation writing location 0x00000000Ha jól értem olyan címre akar írni, ami nem létezik. A hiba eredetét a malloc()-ra tippelem. Következtetésem az, hogy ha kihagyom a function()-ban a malloc()-ot és az inicializáláskor az int main() előtt megadom a tömb méretet, akkor nincs ez a hiba.
Hogyan méretezhetném újra a struktúra tömbömet (dns_answer* answer_array) a funkción belül, úgy hogy az globálisan is megvalósuljon?illetve., hogy kerülhetném ki a function()-ban az átmeneti lokális struktúra használatát?
Ú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!
- Amit látnod kell 80’ – 90’ évek, egész estét betöltő mozi filmjei.
- Tőzsde és gazdaság
- Windows 11
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Megerősítést kapott a kompakt csúcsmobil OnePlus 15T érkezése
- PlayStation 5
- Milyen TV-t vegyek?
- Samsung kuponkunyeráló
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- EAFC 26
- További aktív témák...
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Akció! Dell Latitude 7200 2-in-1,12.3",FHD,i5-8365U,8GB,256GB SSD,WIN11,Tablet,LTE
- Beszámítás! LENOVO LOQ 15AHP10 FHD Gamer notebook - R7 250 32GB DDR5 1TB SSD RTX 5050 Max-Q 8GB
- Xbox One S 500 GB
- AKCIÓ! Sony Playstation 5 PRO 2TB Digital játékkonzol garanciával extrákkal hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

