I am trying to run sample code on my PC
I have following three files taskrunner.h task.h runtask.c
Code:
#ifndef TASKRUNNER_H#define TASKRUNNER_H
int taskrunner(Task * TaskList, unsigned int listLen);
#endif // TASKRUNNER_H
Code:
#ifndef TASK_H#define TASK_H
typedef int (*task_init)(int);
typedef int (*task_func)(int);
typedef struct {
char taskName[20];
// task_init init;
// task_func func;
int * runNow;
} Task;
#endif //TASK_H
Code:
#include "stdio.h"#include "../include/errors.h"
#include "../include/tasks.h"
#include "../include/taskrunner.h"
int doNow, doLater;
int taskrunner(Task * TaskList, unsigned int listLen)
{
int iter;
printf("Running Tasks, %d\n", listLen);
for(iter = 0; iter < listLen; iter++)
{
if( 0 == *TaskList[iter].runNow)
{
printf("%s, %d\n", TaskList[iter].taskName, *TaskList[iter].runNow);
}
}
return(iter);
}
Task tasks[] = {
{"First_Task", &doNow},
{"Second_Task", &doLater},
{"Third_Task", &doNow},
};
#define NUM_TASKS sizeof(tasks)/sizeof(Task)
int runAllTasks(void)
{
int Error;
Error = 0;
doNow = 0;
doLater = 0;
while(0 == Error)
{
Error = taskrunner(tasks, NUM_TASKS);
if(doLater == 0)
Error = 0;
doLater = 1;
}
return(Error);
}
int main()
{
int Error;
printf("Hello world\n");
/* Initialize task list */
/* Run the task list using the given tasks */
printf("Final task result = %d\n", runAllTasks());
return(0);
}
I get following error message any help how to remove it
C:\Users\Vij\Downloads\TaskTurner-master\TaskTurner-master\tasker\src>gcc -o runtask runtask.c
In file included from runtask.c:2:0:
c:\mingw\include\errors.h:158:1: error: unknown type name 'DWORD'
DWORD WINAPI AMGetErrorTextA(HRESULT,CHAR*,DWORD);
^~~~~
c:\mingw\include\errors.h:158:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'AMGetErrorTextA'
DWORD WINAPI AMGetErrorTextA(HRESULT,CHAR*,DWORD);
^~~~~~~~~~~~~~~
c:\mingw\include\errors.h:159:1: error: unknown type name 'DWORD'
DWORD WINAPI AMGetErrorTextW(HRESULT,WCHAR*,DWORD);
^~~~~
c:\mingw\include\errors.h:159:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'AMGetErrorTextW'
DWORD WINAPI AMGetErrorTextW(HRESULT,WCHAR*,DWORD);