These functions are GNU extensions, not in C or POSIX. Clearly, the names were
badly chosen. Many systems (like MacOS) have incompatible functions called
dprintf, usually some debugging version of printf, perhaps with
a prototype like
where the first parameter is a debugging level (and output is to stderr).
Moreover, dprintf (or DPRINTF) is also a popular macro name for
a debugging printf. So, probably, it is better to avoid this function in
programs intended to be portable.