Ir para conteúdo
Fórum Script Brasil

bessabr

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre bessabr

bessabr's Achievements

0

Reputação

  1. Ol'a, estou tentando compilar este programa... #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <string.h> #include <unistd.h> #include <sys/time.h> #include <sys/timerfd.h> static int thread_1_count; static int thread_2_count; long start; int out[1000]; static void *thread_1(void *arg) { start=now(); printf("Thread 1 period 10ms\n"); for(int t=0; t <1000; t++){ out[t] = now() - start; start = now(); delay_ms(1); } return NULL; } static void *thread_2(void *arg) { printf("Thread 2 period 20ms\n"); while (1) { thread_2_count++; for(int i=0;i<1000;i++){ printf("%d", "%d", i, out[i] ); } } return NULL; } int main(int argc, char *argv[]) { pthread_t t_1; pthread_t t_2; printf("Periodic threads using timerfd\n"); pthread_create(&t_1, NULL, thread_1, NULL); pthread_create(&t_2, NULL, thread_2, NULL); sleep(10); printf("thread1 %d iterations\n", thread_1_count); printf("thread2 %d iterations\n", thread_2_count); return 0; } Para fazer um teste no Ubuntu com o RTAI, por'em, ele est'a retornando este erro abaixo: obs: 'e um trecho de codigo do 2net.com, fiz algumas altera'coes para comparar o tempos. obs2: ele estava rodando normalmente, mesmo ap'os minhas altera'coes. # cc -Wall -std=gnu99 -g -pthread -lrt -o timerfd timerfd.c -lrt timerfd.c: In function ‘thread_1’: timerfd.c:27:2: warning: implicit declaration of function ‘now’ [-Wimplicit-function-declaration] start=now(); ^ timerfd.c:35:4: warning: implicit declaration of function ‘delay_ms’ [-Wimplicit-function-declaration] delay_ms(1); ^ timerfd.c: In function ‘thread_2’: timerfd.c:50:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘char *’ [-Wformat=] printf("%d", "%d", i, out ); ^ timerfd.c:50:5: warning: too many arguments for format [-Wformat-extra-args] /tmp/cc7hgWzU.o: na função `thread_1': /home/bessa/src/periodic-threads-master/timerfd.c:27: referência indefinida para `now' /home/bessa/src/periodic-threads-master/timerfd.c:32: referência indefinida para `now' /home/bessa/src/periodic-threads-master/timerfd.c:33: referência indefinida para `now' /home/bessa/src/periodic-threads-master/timerfd.c:35: referência indefinida para `delay_ms' collect2: error: ld returned 1 exit status make: ** [timerfd] Erro 1
×
×
  • Criar Novo...