March 12, 2012 how to know at compile time pagesize? | ||||
---|---|---|---|---|
| ||||
I would like use std.mmfile ang give to mmFile ctor a window. For this i want to give value from getPagesize. On my linux system in C i can do this. _____________________ #include <unistd.h> #include <stdio.h> int main(){ int pageSize = getpagesize(); printf("Page size on your system = %i bytes\n", pageSize); return 0; } _____________________ In D i have try this but do not build: _____________________ import std.string; import std.stdio; import std.mmfile; version(Windows){ import std.parallelism; extern(Windows){ void GetSystemInfo(void*); } SYSTEM_INFO sysinfo; GetSystemInfo( &sysinfo ); size_t win = sysinfo.dwAllocationGranularity; } else version(linux){ import core.sys.posix.sys.shm; // extern(System) int getpagesize(); // size_t win = getpagesize(); size_t win = SHMLBA; } else version( FreeBSD ){ import core.sys.posix.sys.shm; size_t win = SHMLBA; } else static assert( false, "Not supported plateform"); void main( ){ witefln( "Page size: %d", win); } _____________________ |
Copyright © 1999-2021 by the D Language Foundation