Lewin Edwards in his dosfs file system uses the ldiv() functions shown below: sector = ldiv(offset, SECTOR_SIZE).quot and offset = ldiv(offset, SECTOR_SIZE).rem Anybody know how this is declared or, maybe, defined?
Hul
Lewin Edwards in his dosfs file system uses the ldiv() functions shown below: sector = ldiv(offset, SECTOR_SIZE).quot and offset = ldiv(offset, SECTOR_SIZE).rem Anybody know how this is declared or, maybe, defined?
Hul
Am 01.08.2023 um 23:21 schrieb Hul Tytus:
Seriously? Does every C compiler you use come without a manual?
How else could you possibly find it hard to discover the declaration and semantics of a 33+ years old C standard library function like that?
$ man ldiv
------------------------------------------------------------------------------ div(3) Library Functions Manual div(3)
NAME div, ldiv, lldiv, imaxdiv - compute quotient and remainder of an inte‐ ger division
LIBRARY Standard C library (libc, -lc)
SYNOPSIS #include <stdlib.h>
div_t div(int numerator, int denominator); ldiv_t ldiv(long numerator, long denominator); lldiv_t lldiv(long long numerator, long long denominator);
#include <inttypes.h>
imaxdiv_t imaxdiv(intmax_t numerator, intmax_t denominator);
[...]
It's a standard C library function. You can see its definition in the C standards (draft versions of all modern C standards are freely available online). A good reference for C is the "cppreference" site, with the exact page here being:
The "div" functions are almost never used these days - any decent compiler will do as good or better when the code is expressed simply as:
sector = offset / SECTOR_SIZE; offset = offset % SECTOR_SIZE;
But the "div" functions made sense with older and poorer compilers.
Thanks Grant. I'd never seen those before and assumed they were Lewin's creation.
Hul
Grant Edwards snipped-for-privacy@> > Lewin Edwards in his dosfs file system uses the ldiv() functions shown below:
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.