Sorry voor de nogal onduidelijke topictitel maar ik wist echt niet wat hiervan te maken.
Ik heb al een dag of wat het volgende probleem (ik heb een even een zo kort mogelijk programma geschreven die het probleem behandeld).
In owcomdefs staan definities om een INT vast te stellen op arm etc. Deze worden door de gehele voorbeeld code en libraries gebruikt dus ik zit er nogal aan vast.
Die comments onderaan staan dus niet echt in de code maar ehb ik er even voor de duidelijkheid in de post gezet. Ik ben bang dat ik me of doodstaar op iets doodsimpels of dat er echt iets vaags gebeurd. Iemand tips?
Dit is dus die library ik heb hem er toch maar even bijgezet voor de duidelijkheid. Heb alleen een kilometer aan comments bovenaan geschrapt. Wil ik eventueel ook nog wel posten
Ik heb al een dag of wat het volgende probleem (ik heb een even een zo kort mogelijk programma geschreven die het probleem behandeld).
In owcomdefs staan definities om een INT vast te stellen op arm etc. Deze worden door de gehele voorbeeld code en libraries gebruikt dus ik zit er nogal aan vast.
C:
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
| /*************** SYSTEM INCLUDES ***************/ #include <owa2x/owcomdefs.h> #include <stdio.h> /*************** USER INCLUDES ***************/ /*************** MAIN ***************/ int main (void) { INT test1 = 0; INT test2 = 0; test1 = 2; test2 = 2; printf("test1 = %d, test2 = %d \n", test1, test2); return 0; } /* joost@joost-laptop:~/test/implicitdeclaration$ arm-linux-gcc -Wall main.c -o main; joost@joost-laptop:~/test/implicitdeclaration$ dit compileert dus prima arm output -> # ./main test1 = 2, test2 = 2 # */ |
C:
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
| /*************** SYSTEM INCLUDES ***************/ #include <owa2x/owcomdefs.h> #include <stdio.h> /*************** USER INCLUDES ***************/ /*************** MAIN ***************/ int main (void) { INT test1 = 0; test1 = 2; INT test2 = 0; //test1 = 2; test2 = 2; printf("test1 = %d, test2 = %d \n", test1, test2); return 0; } /* joost@joost-laptop:~/test/implicitdeclaration$ arm-linux-gcc -Wall main.c -o main; main.c: In function `main': main.c:12: parse error before `test2' main.c:15: `test2' undeclared (first use in this function) main.c:15: (Each undeclared identifier is reported only once main.c:15: for each function it appears in.) joost@joost-laptop:~/test/implicitdeclaration$ */ |
Die comments onderaan staan dus niet echt in de code maar ehb ik er even voor de duidelijkheid in de post gezet. Ik ben bang dat ik me of doodstaar op iets doodsimpels of dat er echt iets vaags gebeurd. Iemand tips?
Dit is dus die library ik heb hem er toch maar even bijgezet voor de duidelijkheid. Heb alleen een kilometer aan comments bovenaan geschrapt. Wil ik eventueel ook nog wel posten
C:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
| #ifndef __OWCOMDEFS_H #define __OWCOMDEFS_H /*****************************************/ /*** ARM compiler for ARM7TM (32-bit) **/ /*****************************************/ #ifdef __OWASYS_ARM typedef long int INT32; typedef unsigned long int UINT32; typedef long int BOOL32; typedef short int INT16; typedef unsigned short int UINT16; typedef short int BOOL16; typedef unsigned char UCHAR; #define REGISTER register #define PACKSTRUCT __packed #define memclr(what, size) memset(what, 0, size) #define CAST_TO_UINT32(x) (INT32)(fmod( x, (double)MAX_INT32)) #else typedef long int INT32; typedef unsigned long int UINT32; typedef long int BOOL32; typedef short int INT16; typedef unsigned short int UINT16; typedef short int BOOL16; #endif //******************************************* //** Compiler-independent typedefs ** //******************************************* typedef long LONG; typedef unsigned long ULONG; typedef short int SHORT; typedef unsigned short int USHORT; typedef int INT; typedef unsigned int UINT; typedef char CHAR; typedef unsigned char BYTE; typedef unsigned char UBYTE; typedef signed char TINY; typedef unsigned char UTINY; #define VOID void typedef unsigned char UCHAR; typedef float FLOAT; typedef double DOUBLE; typedef int BOOL; typedef int WERR; typedef unsigned short WORD; typedef unsigned long DWORD; /*******************************************/ /** Compiler-independent defines **/ /*******************************************/ #ifndef NULL #define NULL 0 #endif #ifndef EOF #define EOF (-1) #endif #ifndef FALSE #define FALSE 0 #endif /*******************************************************************************/ /* NOTE: No matter how we define 'TRUE', there's some possibility that 'TRUE' */ /* one one compiler won't be 'TRUE' on another. This is only a problem */ /* for BOOL16 (e.g., files and messages between compilers). Be careful. */ /*******************************************************************************/ #ifndef TRUE #define TRUE (!FALSE) #endif /****************************************/ /** Compiler-independent macros **/ /****************************************/ #define ABS(a) (((a) < 0) ? (-(a)) : (a)) #define SIGN(a,b) (((b) < 0) ? (-ABS(a)) : (ABS(a))) #ifndef MIN #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif #ifndef MAX #define MAX(a,b) (((a) > (b)) ? (a) : (b)) #endif #define MINMAX(a,b,c) MAX(MIN((a),(c)),(b)) /* (((a) < (b)) ? (b) : (((a) > (c)) ? (c) : (a))) */ #endif |
[ Voor 46% gewijzigd door Gehakt op 22-11-2006 15:59 ]