«ФАЙЛ» неизвестного типа в Контики - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь проверить запись в файле в Contiki.вот код, который я использовал:

#include "contiki.h"
#include <stdio.h>
#define LEN 256
 PROCESS(test_process, "Coffee test process");
 AUTOSTART_PROCESSES(&test_process);
 PROCESS_THREAD(test_process, ev, data)
 /**/
 {
  PROCESS_BEGIN();
FILE * fp;
   int i;
   /* open the file for writing*/
   fp = fopen ("/home/user/contiki/examples/mySim/1.txt","w");

   /* write 10 lines of text into the file stream*/
   for(i = 0; i < 10;i++){
       fprintf (fp, "This is line %d\n",i + 1);
   }

   /* close the file*/  
   fclose (fp);
  PROCESS_END();
 }

Я получаю это сообщение об ошибке после компиляции в симуляторе Cooja:

test.c: в функции 'process_thread_test_process': test.c:12: 1: ошибка: неизвестное имя типа 'FILE' test.c: 15: 4: предупреждение: неявное объявление функции 'fopen' [-Wimplicit-function-декларация] test.c: 15: 7: предупреждение: назначение делает указательиз целого числа без приведения [включено по умолчанию] test.c: 19: 8: предупреждение: неявное объявление функции 'fprintf' [-Wimplicit-function-объявление] test.c: 19: 8: предупреждение: несовместимое неявное объявление встроенного-in функция 'fprintf' [включена по умолчанию] test.c: 23: 4: предупреждение: неявное объявление функции 'fclose' [-Wimplicit-function-Объявления] make: *** [test.co] Ошибка 1 Процесс возвращенкод ошибки 2

Кто-нибудь имеет представление о проблеме?

1 Ответ

0 голосов
/ 30 декабря 2018

Contiki не предоставляет / не поддерживает файловый API POSIX, так же как у него нет многих других вещей (API сокетов POSIX, API создания и управления процессами POSIX).Вместо этого он предоставляет свой собственный API файловой системы (API «protosockets», API «protothreads» и т.Вы можете использовать функции, описанные на вики-странице;они являются аналогами низкоуровневого файлового API POSIX (например, cfs_open аналогичен POSIX open, cfs_close для POSIX close и т. д.).Аналогов для функций буферизованного ввода / вывода (fopen, fclose) нет, а структура FILE не существует.

...