Мне нужно создать кроссплатформенное приложение, в котором была добавлена функция WINDOWS для использования памяти.
Как заменить этот код для создания версии, которая компилируется и работает в LINUX и WINDOWS?
function HowMuchMemoryUsed: cardinal;
var
st: TMemoryManagerState;
sb: TSmallBlockTypeState;
begin
GetMemoryManagerState(st); /// this function only exist under windows
Result := st.TotalAllocatedMediumBlockSize + st.TotalAllocatedLargeBlockSize;
for sb in st.SmallBlockTypeStates do
begin
Result := Result + sb.UseableBlockSize * sb.AllocatedBlockCount;
end;
end;