1 WinRT Approaches comparison
EvgenyAgafonchikov редактировал(а) эту страницу 2015-06-05 16:41:01 +03:00
Этот файл содержит неоднозначные символы Юникода!

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

Approach Advantages Disadvantages
Try to fix 0xC0000005 SEH exception “Clean” approach as should fix the issue w/o workarounds No exact estimate as it is difficult to find root causes of access violation
Doesnt work for ARM
Create fstream wrapper All the code placed into one place (custom header file) Requires overloading of fstream-related classes and functions
Isolates platform-specific code Requires subsequent fopen function overloading to be used for ARM + possible updating of initially implemented fstream wrapper to work from container
Requires placing of files to location available from app container for ARM (e.g. Documents Library) and setting of corresponding permissions to copy files to local apps folder
Rewrite code to read data from Documents folder w/ async read/write functions Allows to get files directly from Documents library (w/o copying to local) Requires wrapping of the existing file system calls
Works for ARM as well
Rewrite code to read data from Documents folder w/o async read/write functions Allows to use default ifstream/fopen after little data path modification Requires copying of files to local apps folders using WinRT-specifig
Works for ARM as well Requires file system calls wrapper at least for files copying
Put required files with test apps as content Requires no modification in source excluding data path Requires to copy all files (over 400 Mb) with every test app or creating of folders list for each test app and keeping of it up to date
There is tested working prototype Causes writing of extra CMake platform-specific code (more code in case of filtering by folders)
Works for ARM as well Considerably increases size of executables and deployment time
Exclude failed tests from WinRT build and document this Minimizes effort Partial solution
Requires removing some extra tests as we can remove whole files only during CMake generation
Doesnt work for ARM
Requires subsequent maintenance to keep excluded list up to date