Ik ben bezig met een project-opdracht waarin ik met message-queue's in POSIX informatie tussen processen kan uitwisselen. Voor de grotere hoeveelheden data moet er een shared memory gebruikt worden. Dat even ter inleiding, wat niet direct belangrijk is voor het probleem.
Dit is de volledige code van de file sharedio.h. Het is misschien niet allemaal belangrijk, maar misschien zit de error ergens in een onverwacht stuk.
Als ik deze make dan krijg ik op dit moment de volgende output, alle andere errors heb ik er al uit gehaald.
Maar ik kan maar niet vinden wat het probleem veroorzaakt. Wie heeft er een idee? Mis ik een include? Staat er ergens een karakter te veel (semicolon, curly bracket)?
Dit is de volledige code van de file sharedio.h. Het is misschien niet allemaal belangrijk, maar misschien zit de error ergens in een onverwacht stuk.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| //SharedIo.h #include <sys/types.h> #include <stdio.h> #include <unistd.h> #include <mqueue.h> #include <string.h> #define QUEUE_NAME_START "/es7_queue_" #define QUEUE_NAME_SERVER "/es7_queue_server" #define SMEM_NAME_START "/es7_smem_" #define PRIORITY 1 #define SHM_SIZE 256 enum es7_message_types{ OPEN, CLOSE, READ, WRITE, FILESIZE }; struct es7_message{ enum es7_message_types type, int sender_pid, int size }; int create_shared_mem(char *name); int use_shared_mem(char *name, void *vaddr); void unmap_shared_mem(void *vaddr); void close_shared_mem(int shm_client, void *vaddr); void delete_shared_mem(); char* get_queue_name(int pid); char* get_mem_name(int pid); mqd_t open_message_queue(char *name, size_t msgsize); |
Als ik deze make dan krijg ik op dit moment de volgende output, alle andere errors heb ik er al uit gehaald.
code:
1
2
3
4
5
6
7
| janwillem@ubuntu:~/Documents/ES7_O1$ make g++ -O2 -Wall -lrt client.c sharedIo.c -o client In file included from client.c:10: sharedIo.h:25: error: expected unqualified-id before 'int' In file included from sharedIo.c:5: sharedIo.h:25: error: expected unqualified-id before 'int' make: *** [client] E |
Maar ik kan maar niet vinden wat het probleem veroorzaakt. Wie heeft er een idee? Mis ik een include? Staat er ergens een karakter te veel (semicolon, curly bracket)?
There are only 10 types of people in the world: those who understand binary and those who don't.