Práce s pamětí: Přístup na paměťové místo čtení/zápis – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s pamětí: Přístup na paměťové místo čtení/zápis – C / C++ – Fórum – Programujte.comPráce s pamětí: Přístup na paměťové místo čtení/zápis – C / C++ – Fórum – Programujte.com

 

End
~ Anonymní uživatel
49 příspěvků
4. 5. 2015   #1
-
0
-

Ahoj,

jdu si pro názor, radu nebo help kód. Jde mi o následující: Patrně skrze dll knihovnu vytvořit v paměti pc blok, kam bych zapsal data (řekněme 60x8bytes (int a double čísla) a možná 2-3 stringy (krátké, 20char třeba).

Tohle zvládnu, knihovnu mám. Teď to, co už nevím: potřebuju nějak zpětně vědět kde jsou hodnoty uloženy, tedy asi něco jako ukazatel na místo paměti, kde je která proměnná uložena. Možná z hlediska praktičnosti, bych hodnoty poskládal do bloku (pole), pak by těch ukazatelů bylo o dost méně. Tedy export adresy paměti.

No a dál - tady tu adresu předat zcela jiné aplikaci. Ve výsledku by to bylo pak, že jedna aplikace by na daná místa zapisovala a jiná z těch správných míst naopak četla.

Nebo mne napadá, že by stačil jen jeden odkaz do paměti, aby se aplikace měly čeho obě chytit a odkazy na další bloky, kde co je, by si obě aplikace našli už v paměti z tohoto výchozího paměťového místa.

Nevím, jak to provést, jsem co se týče C/C++ celkem začátečník, stejně jako v C#,

No, snad jsem to popsal nějak srozumitelně. Podstatné je tučně vyznačeno.

Nahlásit jako SPAM
IP: 89.102.247.–
KIIV
~ Moderátor
+43
God of flame
4. 5. 2015   #2
-
0
-

Co se tyce libky, tak se normalne dela hlavickovy soubor, ktery, kdyz se includuje v libce, tak ma za ukol exportovat symboly, a kdyz se includuje v programu, tak ma za ukol symboly importovat a pak musis tu libku predhodit linkeru, aby se to taky prilinkovalo.

Nicmene, pokud jen potrebujes kus sdilene pameti, tak to taky existuje (hledej: shared memory) - da se k tomu pak pristupovat podle jmena.

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
PiranhaGreg0
Stálý člen
5. 5. 2015   #3
-
0
-

Ve výsledku by to bylo pak, že jedna aplikace by na daná místa zapisovala a jiná z těch správných míst naopak četla.

Jestli je to pouze o tom, doporučil bych spíše využít rouru. A pokud umíš i C#, doporučil bych použít ten (nebo aspoň C++ verzi pro .NET). Nějaký jednoduchý ukázkový příklad použití je třeba zde. Jde to samozřejmě i v C++ s WinAPI, ale je to docela kompikovaný...

Kompletně sdílená paměť je samozřejmě taky možná, ale je tam pak potřeba řešit zamykání a pokud chceš jenom předávat nějaká data k dalšímu zpracování, roury jsou podle mě vhodnější.

Nahlásit jako SPAM
IP: 109.81.210.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 73 hostů

Podobná vlákna

čtení a zápis souboru — založil _Radek_

Zapis a cteni v TxT — založil Mudraon

čtení a zápis do souboru 3.2 — založil dragon124

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý