Есть ли какая нибудь замена, либо аналогия временной C++ библиотеки chrono (в ходящей в пространство имен std) в C ??
Пытаюсь заменить C++ код на C код.
Пытаюсь работать с микросекундами.
Да @Alexey Nikolaev вы полностью правы. НО хотел бы раскрыть вопрос. По сути за время в миллисекундах отвечает не библиотека, а сама операционная система. Что бы узнать микросекунды надо опросить её АПИ в Windows это WinApi, в Линуксе (Ubuntu) это POSIX.
Для работы с микросекундами в линусе стоит "работать" через функции : gettimeofday
и clock_gettime
Для работы с микросекундами в windows стоит "работать" через функцию : GetProcessTimes
Вот пример работы с микросекундами в лунуксе (Ubuntu) :
#include <stdio.h>
#include <stdint.h>
#include <sys/time.h> // первый вариант gettimeofday
#include <time.h> // второй вариант clock_gettime
int main()
{
struct timeval stop, start;
gettimeofday(&start, NULL);
struct timespec start1, stop1;
clock_gettime(CLOCK_MONOTONIC_RAW, &start1); // можно такCLOCK_MONOTONIC_RAW и так можно CLOCK_REALTIME
printf("Hello World!\n");
int a = 1000;
for (int i =0; i<a;i++)
printf("%d \n",i);
gettimeofday(&stop, NULL);
printf("took %lu\n", stop.tv_usec - start.tv_usec);
printf("------------------ \n");
clock_gettime(CLOCK_MONOTONIC_RAW, &stop1); // можно такCLOCK_MONOTONIC_RAW и так можно CLOCK_REALTIME
uint64_t delta_us = (stop1.tv_sec - start1.tv_sec) * 1000000 + (stop1.tv_nsec - start1.tv_nsec) / 1000;
printf("delta_us = %d \n", delta_us);
return 0;
}
Увы в винде я пример предоставить не могу :( ибо в ней пока не работаю (даже если бы работал то попробовал реализовать через Qt).
В Си библиотека работы со временем находится в time.h
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне нужно от минимального элемента вектора до максимального поменять знаки элементов на противоположные
Подскажите как можно выставить пустое/нулевое значение для типа
Выходят ошибки вроде "class "llvm::Attribute" не содержит члена "ArgMemOnly", "не удаётся открыть источник файл llvm/IR/Intrinsicsgen" и похожие