ما هو fadvise/madvise ما يعادلها على ويندوز ؟
-
05-07-2019 - |
سؤال
على UNIX, أنا يمكن ، على سبيل المثال ، يقول OS أن التعيين سوف تكون هناك حاجة في المستقبل مع posix_fadvise(POSIX_FADV_WILLNEED)
.فإنه سيتم ثم قراءة مسبقة البيانات إذا كان يشعر بذلك.
كيفية معرفة الوصول تنوي ويندوز ؟
المحلول
في الواقع, كما اندرس معظمها اقترح ، لا يوجد مثل هذا الأسلوب في إدارة الذاكرة والوظائف المتاحة في ويندوز 7 في وقت سابق.
2 طرق مختلفة موجودة أن تفعل شيئا من هذا القبيل :
- قراءة البيانات بشكل غير متزامن مع ReadFileEx.البيانات قد لا تكون في ملف ذاكرة التخزين المؤقت عند الحاجة في وقت لاحق.
- فتح الملف مع تدفق تلميح مع
FILE_FLAG_SEQUENTIAL_SCAN
سمة من CreateFile.Readahead ثم ربما يكون ذلك تلقائيا.
نصائح أخرى
وبدءا من ويندوز 8، وهناك في PrefetchVirtualMemory
وظيفة لهذا الغرض.
ويمكنك تمرير FILE_FLAG_RANDOM_ACCESS
أو FILE_FLAG_SEQUENTIAL_SCAN
إلى CreateFile ()
لا تنتمي إلى StackOverflow