digitalmars.D.learn - how to know at compile time pagesize?
- bioinfornatics (41/41) Mar 11 2012 I would like use std.mmfile ang give to mmFile ctor a window.
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 =3D getpagesize(); printf("Page size on your system =3D %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; =20 extern(Windows){ void GetSystemInfo(void*); } SYSTEM_INFO sysinfo; GetSystemInfo( &sysinfo ); size_t win =3D sysinfo.dwAllocationGranularity; } else version(linux){ import core.sys.posix.sys.shm; // extern(System) int getpagesize(); =20 // size_t win =3D getpagesize(); size_t win =3D SHMLBA; } else version( FreeBSD ){ import core.sys.posix.sys.shm; size_t win =3D SHMLBA; } else static assert( false, "Not supported plateform"); void main( ){ witefln( "Page size: %d", win); } _____________________
Mar 11 2012