DSpace
    • English
    • Deutsch
    • Eesti
  • English 
    • English
    • Deutsch
    • Eesti
  • Login
View Item 
  •   DSpace @University of Tartu
  • Loodus- ja täppisteaduste valdkond
  • Arvutiteaduse instituut
  • MTAT magistritööd – Master's theses
  • View Item
  •   DSpace @University of Tartu
  • Loodus- ja täppisteaduste valdkond
  • Arvutiteaduse instituut
  • MTAT magistritööd – Master's theses
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

Suhtlus .NET-raamistiku ja C++-i vahel

Thumbnail
View/Open
thesis.pdf (451.3Kb)
Date
2016
Author
Traks, Andres
Metadata
Show full item record
Abstract
Kä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.
 
C# 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.
 
URI
http://hdl.handle.net/10062/56162
Collections
  • MTAT magistritööd – Master's theses [633]

DSpace software copyright © 2002-2016  DuraSpace
Contact Us | Send Feedback
Theme by 
Atmire NV
 

 

Browse

All of DSpaceCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

Login

DSpace software copyright © 2002-2016  DuraSpace
Contact Us | Send Feedback
Theme by 
Atmire NV