![]() |
![]() |
UltraDefrag Handbook
7.0.1
|
If you'd like to know what's under the hood you are welcome to inspect UltraDefrag sources. You can either use online svn browser or download sources from SourceForge. Alternatively you can setup an SVN client (for instance TortoiseSVN) and check sources out from their base address.
Essential parts of UltraDefrag are written in four programming languages:
UltraDefrag core libraries are written in pure C for compatibility with Windows boot environment where only bare ntdll interfaces are available. Both graphical and command line tools are written in C++ on top of wxWidgets library which helps to keep things simple. For configuration purposes and reports convertion the program uses Lua scripting language. UltraDefrag installers are written in NSIS.
To build the program install the following software:
To build 64-bit packages install also Microsoft Windows SDK v7.1.
To configure build environment follow these steps:
To build UltraDefrag use the following commands:
If you need an IDE for development install Code::Blocks as well. To launch it in correct environment type:
If you'd like to know how the build process works inspect .cmd files - they contain the complete information.
Follow these links to understand better UltraDefrag design and internals.
Hidden features of Windows batch files
Windows command line syntax
Rob van der Woude's scripting pages
The Art of Computer Programming
Windows native API reference
Windows x86 system call table
Inside Windows NT disk defragmenting
Improvements in Windows 7
Improvements in Windows XP
Defragmenting Files (Windows)
Master File Table (Windows)
Design apps for the Windows desktop
Writing High-DPI Win32 Applications
The Art of Unix Programming
GNU coding standards
Information for maintainers of GNU software
Writing reentrant and threadsafe code
A short guide to mastering thread-safety
Previous: Translation | Next: Credits and License |