Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: CxxDaemon 06. 05. 2017, 20:55:52

Název: .NET a pin_ptr
Přispěvatel: CxxDaemon 06. 05. 2017, 20:55:52
Nedávno jsem dostal za úkol integrovat do aplikace v C# externí knihovnu v C a jak tak koukám do kódu, objekty se do ní předávají přes pin_ptr. Díky dokumentaci MS chápu, k čemu to je, ale mám dotaz: když si ta knihovna nějaký takový objekt nechá někde v kolekci, nebude to pak negativně ovlivňovat běh GC? Zatím jsem žádnou divnost na testovacích datech nepozoroval, ale trochu se bojím ostrého provozu.
Název: Re:.NET a pin_ptr
Přispěvatel: CxxDaemon 08. 05. 2017, 15:21:07
Nedávno jsem dostal za úkol integrovat do aplikace v C# externí knihovnu v C a jak tak koukám do kódu, objekty se do ní předávají přes pin_ptr. Díky dokumentaci MS chápu, k čemu to je, ale mám dotaz: když si ta knihovna nějaký takový objekt nechá někde v kolekci, nebude to pak negativně ovlivňovat běh GC? Zatím jsem žádnou divnost na testovacích datech nepozoroval, ale trochu se bojím ostrého provozu.
Tak vyřešeno. .NET je peklo.
Název: Re:.NET a pin_ptr
Přispěvatel: zboj 18. 05. 2017, 20:46:12
Nedávno jsem dostal za úkol integrovat do aplikace v C# externí knihovnu v C a jak tak koukám do kódu, objekty se do ní předávají přes pin_ptr. Díky dokumentaci MS chápu, k čemu to je, ale mám dotaz: když si ta knihovna nějaký takový objekt nechá někde v kolekci, nebude to pak negativně ovlivňovat běh GC? Zatím jsem žádnou divnost na testovacích datech nepozoroval, ale trochu se bojím ostrého provozu.
Tak vyřešeno. .NET je peklo.
pin_ptr je zlo, nebrat  >:(
Název: Re:.NET a pin_ptr
Přispěvatel: jpu 18. 05. 2017, 22:13:50
Nedávno jsem dostal za úkol integrovat do aplikace v C# externí knihovnu v C a jak tak koukám do kódu, objekty se do ní předávají přes pin_ptr. Díky dokumentaci MS chápu, k čemu to je, ale mám dotaz: když si ta knihovna nějaký takový objekt nechá někde v kolekci, nebude to pak negativně ovlivňovat běh GC? Zatím jsem žádnou divnost na testovacích datech nepozoroval, ale trochu se bojím ostrého provozu.
Tak vyřešeno. .NET je peklo.
to .NET hodnotis na zaklade toho, ze mas komplikacie s integraciou Ceckovej kniznice? Radsej sa teda C# vyhybaj.
Název: Re:.NET a pin_ptr
Přispěvatel: zboj 18. 05. 2017, 23:19:08
Nedávno jsem dostal za úkol integrovat do aplikace v C# externí knihovnu v C a jak tak koukám do kódu, objekty se do ní předávají přes pin_ptr. Díky dokumentaci MS chápu, k čemu to je, ale mám dotaz: když si ta knihovna nějaký takový objekt nechá někde v kolekci, nebude to pak negativně ovlivňovat běh GC? Zatím jsem žádnou divnost na testovacích datech nepozoroval, ale trochu se bojím ostrého provozu.
Tak vyřešeno. .NET je peklo.
to .NET hodnotis na zaklade toho, ze mas komplikacie s integraciou Ceckovej kniznice?
.NET má bump allocator, tak je celkem logické, že sdílení dat s céčkem nebude úplně ideální a pokud někdo přesně neví, jak pin_ptr (nebo interior_ptr) funguje, tak ho procitnutí může nemile překvapit.