Ik heb nog een probleempje waar ik niet uitkom en dat is het volgende:
Ik heb voor het gemak het probleem even geprobeerd te isoleren met zo weinig mogelijk code.
main.c
test.c
test.h
ik compileer dit met:
arm-linux-gcc -Wall main.c test.c -o virm
Dit geeft een error:
multiple definition of strA
first defined here
multiple definition of strB
first defined here
exit status
Waar gaat het fout. Ik heb echt geen flauw idee.
Het gaat erom dat ik een array declare die ik voor in test.c en in main.c kan gebruiken. Ik dacht dat het misschien met het ''extern" zou werken maar ook levert niets op.
Ik heb voor het gemak het probleem even geprobeerd te isoleren met zo weinig mogelijk code.
main.c
C:
1
2
3
4
5
6
7
| #include "test.h" int main(void) { test(&strA[0]); return 0; } |
test.c
C:
1
2
3
4
5
6
7
8
9
| #include <stdio.h> #include <string.h> #include "test.h" int test(char *pArray) { printf("%s", pArray); return 0; } |
test.h
C:
1
2
3
4
5
6
7
8
9
10
| #ifndef _TEST_H #define _TEST_H // zomaar wat waarden: char strA[] = {0x30, 0x31, 0x32}; char strB[] = {0x30, 0x31, 0x32}; int test(char *pArray); #endif // _TEST_H |
ik compileer dit met:
arm-linux-gcc -Wall main.c test.c -o virm
Dit geeft een error:
multiple definition of strA
first defined here
multiple definition of strB
first defined here
exit status
Waar gaat het fout. Ik heb echt geen flauw idee.
Het gaat erom dat ik een array declare die ik voor in test.c en in main.c kan gebruiken. Ik dacht dat het misschien met het ''extern" zou werken maar ook levert niets op.