আমি একটি গেম পোর্টিং করছি, যা মূলত উইন 32 এপিআইয়ের জন্য লিনাক্সে লেখা হয়েছিল (ভাল, উইন 32 পোর্টের ওএস এক্স পোর্টকে লিনাক্সে পোর্ট করা)।
QueryPerformanceCounter
প্রক্রিয়া শুরু হওয়ার পরে আমি ইউসেকেন্ডগুলি দিয়ে প্রয়োগ করেছি :
BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount)
{
gettimeofday(¤tTimeVal, NULL);
performanceCount->QuadPart = (currentTimeVal.tv_sec - startTimeVal.tv_sec);
performanceCount->QuadPart *= (1000 * 1000);
performanceCount->QuadPart += (currentTimeVal.tv_usec - startTimeVal.tv_usec);
return true;
}
এটি, QueryPerformanceFrequency()
ফ্রিকোয়েন্সি হিসাবে ধ্রুবক 1000000 দেওয়ার সাথে সাথে , আমার মেশিনে ভাল কাজ করে , আমাকে একটি 64-বিট ভেরিয়েবল দেয় যা uSeconds
প্রোগ্রামটির শুরু হওয়ার পরে রয়েছে contains
তাহলে কি এই বহনযোগ্য? কার্নেলটি একটি নির্দিষ্ট উপায়ে বা এর মতো কিছু সংকলিত থাকলে আমি এটি আলাদাভাবে কাজ করতে চাই না। লিনাক্স ব্যতীত অন্য কোনও ক্ষেত্রে এটি বহনযোগ্য নয় বলে আমি ঠিক আছি।