C ++ obtendo tempo de milissegundos no Linux - clock () parece não funcionar corretamente

No Windows,clock() retorna o tempo em milissegundos, mas nesta caixa do Linux em que estou trabalhando, o arredonda para o valor mais próximo de 1000, para que a precisão seja apenas no nível "segundo" e não no nível de milissegundo

Encontrei uma solução com o Qt usando oQTime class, instanciando um objeto e chamandostart() e depois chamandoelapsed() para obter o número de milissegundos decorrido

Eu tive sorte porque estou trabalhando com o Qt, mas gostaria de uma solução que não dependa de bibliotecas de terceiros,

Não existe uma maneira padrão de fazer isso?

ATUALIZA

Por favor, não recomendo Boost ..

Se o Boost e o Qt puderem fazer isso, certamente não é mágico, deve haver algo padrão que eles estejam usand

questionAnswers(16)

yourAnswerToTheQuestion