是否有与MulDiv for Linux相当的function?

Windows API中的MulDiv便捷函数等同于(a*b)/c ,但它将a*b的中间结果存储在64位variables中,然后再除以c以避免整数溢出,其中a*b大于MAX_INT(a*b)/c不是。

 WINBASEAPI int WINAPI MulDiv( _In_ int nNumber, _In_ int nNumerator, _In_ int nDenominator ); 

在Linux下编程时,是否有相当的便利function?

看来Linux没有相同的功能。

我创建了一个简单的内联函数(我没有用64位编译测试过)

 inline int mul_div(int number, int numerator, int denominator) { long long ret = number; ret *= numerator; ret /= denominator; return (int) ret; }