Я изменяю код программы C и вставляю #include stdio программировать для открытия / закрытия файла. Я использую команду «make» для кода компиляции C в xen Но я встречаюсь с ошибкой:
../../../include/stdio.h:28:23 fatal error: features.h: No such file or directory
Я вставляю в команду «make» -I, но снова повторяю ошибку!
Как скомпилировать код C XEN в Linux.
это шоу Общая часть кода была изменена на я добавил и вызывает ошибку, потому что раньше этот код не ошибка, но я не совсем, почему я не могу добавить #include stdio.h закодировать для чтения функции fputc и …?!
#include <stdio.h> // i add
#include <xen/config.h>
#include <xen/init.h>
#include <xen/lib.h>
#include <xen/sched.h>
#include <xen/domain.h>
#include <xen/delay.h>
#include <xen/event.h>
#include <xen/time.h>
#include <xen/perfc.h>
#include <xen/sched-if.h>
#include <xen/softirq.h>
#include <asm/atomic.h>
#include <xen/errno.h>
#include <xen/keyhandler.h>struct csched_dom *sdom;
xc_shadow_op_stats_t stats;
FILE *out;
if(iter>=2) {
out = fopen("/test.dat", "w");
fputc(sdom->weight , out);
fclose(out);
}
else
{
sdom->weight = CSCHED_DEFAULT_WEIGHT;
out = fopen("/test.txt", "w");
fputc(sdom->weight , out);
fclose(out);
}
stdio
недоступен в среде, в которой работает гипервизор Xen. Он вообще не работает с файлами — их просто не существует на том уровне, на котором он работает.
Вы можете использовать printk()
функция для отображения сообщений на консоли Xen. Тем не менее, если это для вас новость, вы, вероятно, не в своей тарелке — вам может быть легче работать с чем-то другим. (Попробуйте сначала поработать с ядром Linux.)
Других решений пока нет …