Show simple item record

dc.contributor.advisorKarus, Siim
dc.contributor.authorTraks, Andres
dc.date.accessioned2017-04-26T07:01:28Z
dc.date.available2017-04-26T07:01:28Z
dc.date.issued2016
dc.identifier.urihttp://hdl.handle.net/10062/56162
dc.description.abstractKäesolev töö kirjeldab, kuidas realiseerida koostöö kahe erineva programmeerimiskeskkonna, .NET-raamistiku ja programmeerimiskeele C++ vahel. .NET-raamistikku kasutades on arendaja produktiivsus suurem, kuid C++-is kirjutatud programmidel on parem jõudlus.\n\rSeega on eesmärk kasutada tarkvara arendamisel .NET-keeli (nt. C#), kuid jõudlus-kriitilistes kohtades kutsuda välja C++-koodi. Selleks tuleb luua vahekiht kasutades tehnoloogiaid Platform Invoke või C++/CLI.\n\rTöös kirjeldatakse vahekihi ülesehitust, selle loomise etappe ning tutvustatakse projekti, mis loob vahekihi automaatselt. Vahekihi automaatne loomine aitab vähendab töökulu ja parandada veakindlust. Lisaks analüüsitakse viise, kuidas korraldada mäluhaldust ja parandada jõudlust.
dc.description.abstractC# is a modern programming language aimed at code robustness and development productivity, but it cannot compete with C++ in performance. The best of both worlds can be had by interoperating between the two languages.\n\rHowever, C# as a .NET language follows a different paradigm than C++ in many ways. For example, .NET cleans up memory using automatic garbage collection while C++ requires memory to be freed explicitly. Low-level memory access is natural in C++, but is strictly controlled in .NET. Not to mention differences in naming conventions and semantics.\n\rThis paper describes two approaches to creating an intermediate layer between .NET and C++ (Platform Invoke and C++/CLI) by making a wrapper interface around C++ code, explains how to overcome memory management and performance issues and introduces a framework for automatically generating the interface.\n\rBy combining .NET and C++, developers can build their application in a safe and productive manner without sacrificing speed in performance-critical parts of the code.
dc.language.isoeng
dc.titleSuhtlus .NET-raamistiku ja C++-i vahel
dc.title.alternative.NET and C++ Interoperation
dc.typeThesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record