https://github.com/adishavit/modernizing_wmi_sample
Experimental and expository project showing how to refactor Windows C code into modern C++.
https://github.com/adishavit/modernizing_wmi_sample
Last synced: about 1 year ago
JSON representation
Experimental and expository project showing how to refactor Windows C code into modern C++.
- Host: GitHub
- URL: https://github.com/adishavit/modernizing_wmi_sample
- Owner: adishavit
- License: bsd-3-clause
- Created: 2017-12-27T15:14:08.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-31T17:10:16.000Z (over 8 years ago)
- Last Synced: 2024-12-26T03:27:26.373Z (over 1 year ago)
- Language: C++
- Size: 11.7 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## `[WiP] ### Initial Commit. ###`
# C++ Modernization of Windows C Code
In December 2017, [Simon Brand](https://blog.tartanllama.xyz/optional-expected/), [Vittorio Romeo](https://vittorioromeo.info/index/blog/adts_over_exceptions.html) and [Jonathan Müller](http://foonathan.net/blog/2017/12/04/exceptions-vs-expected.html) all published widely circulated blog posts extolling the virtues of Algebraic Data Types (ADTs) vs. exceptions.
This repo is an attempt to try out these techniques on real world legacy C code to understand the implications, pros and cons of the various approaches. The project also investigates the conveniece and utility of scope-guard-like generic scoped RAII resource management utilities.
When this investigation is done, it will be discussed in yet another [blog post](http://videocortex.io/#blog).
The code to be refactored is an [MSDN sample program](https://msdn.microsoft.com/en-us/library/aa384724(v=vs.85).aspx) from the Windows WMI Performance Monitoring documentation. It is a typical, non-trivial, sample, similar to many other Windows WIN32 C APIs.
***This is a work in progress.***