Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

size_t Interoperability

$
0
0

Good morning all,

I have the feeling I may have a problem hiding away regarding interoperability of my Fortran code with C.  I'm using C to allocate some page-aligned memory, and on the C side I'm using size_t as the data type of the "bytes to allocate" argument.  I initially set up my Fortran side to pass a variable declared as INTEGER (KIND=C_SIZE_T), however I'm realizing now that Fortran doesn't have a concept of unsigned data types (and the SYSV definition of size_t is "long unsigned int").  So presumably, on 32-bit architectures, Fortran will only be able to request at most 2GB of memory.  I would prefer to keep my programs portable (since the C routines can be called by other languages too), but is just doing a blanket "unsigned long long"& "INTEGER*8" for these data types my only solution?

Thanks


Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>