Sign in Join
Wiki copytemporary

Conditional compilation/de: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Zurück zum Thema [[using conditionals messages macros/de|Verwendung von Bedingungen, Nachrichten und Makros]].
22
33# Bedingte Compilierung
44
5-Die <b>bedingte Compilierung</b> bestimmt, welche Teile des Quellcodes in das fertige Programm aufgenommen werden.\
6-Die <b>bedingte Compilierung</b> bestimmt, ob ein Abschnitt compiliert wird und damit Bestandteil des fertigen Programms wird.\
5+Die bedingte Compilierung bestimmt, welche Teile des Quellcodes in das fertige Programm aufgenommen werden.\
6+Die bedingte Compilierung bestimmt, ob ein Abschnitt compiliert wird und damit Bestandteil des fertigen Programms wird.\
77Der Abschnitt, der nicht compiliert wird, wird auch nicht Bestandteil des fertigen Programms.\
8-Die <b>bedingte Compilierung</b> basiert auf der Existenz (Vorhandensein) von Konstanten, dem Status von Compiler Direktiven und der Definition von selbst definierten Symbolen.
8+Die bedingte Compilierung basiert auf der Existenz (Vorhandensein) von Konstanten, dem Status von Compiler Direktiven und der Definition von selbst definierten Symbolen.
99
1010# Selbst definierte Symbole
1111
1212Selbst definierte Symbole gelten ab der Stelle ab der sie deklariert werden bis zu der Stelle an der ihre deklaration aufgehoben wird.\
1313Wird die Deklaration der selbst definierten Symbole nicht aufgehoben, gilt die Deklaration der selbstdefinierten Symbole bis zum Ende der Unit.\
14-\
14+
1515Beispiel 1: Anlegen eines selbstdefinierten Symbols:\
1616
1717``` pascal
1818{$define MeinSymbol} // definiert ein Symbol
1919... // der Bereich, in dem das selbstdefinierte Symbol gültig ist
2020{$undef MeinSymbol} // hebt die Definition des Symbols wieder auf
2121```
2222
23-\
2423Beispiel 2: Anlegen und abfragen eines selbstdefinierten Symbols:\
2524
2625``` pascal
2726...
2827{$define MeinSymbol} // definiert ein Symbol
2928 ...
3029 {$ifdef MeinSymbol} // Fragt die Existenz des selbst definierten Symbols ab und compiliert den IF-Zweig
3130 ...;
3231 {$else} // der Else-Zweig wird nicht compiliert
3332 ...;
3433 {$endif}
3534 ...
3635{$undef MeinSymbol} // hebt die Definition des selbstdefinierten Symbols wieder auf,
3736 // damit ist das selbstdefinierte Symbol nicht mehr vorhanden
3837...
3938```
4039
41-\
4240Beispiel 3: Abfragen eines nicht vorhandenen selbstdefinierten Symbols:\
4341
4442``` pascal
4543// da das selbstdefinierte Symbol hier nicht definiert (vorhanden) ist, wird in diesem Fall der Sonst-Zweig (Else-Zweig) compiliert
4644// das heisst, wenn ein selbstdefiniertes Symbol nicht vorhanden ist, kommt vom Compiler keine Fehlermeldung
4745// und es wird soweit vorhanden der Else-Zweig compiliert, bzw. wenn der Else-Zweig nicht vorhanden ist wird nichts compiliert
4846...
4947 {$ifdef MeinSymbol} // Fragt die Existenz des selbst definierten Symbols ab und compiliert den Else-Zweig
5048 ...;
5149 {$else} // compiliert den Else-Zweig
5250 ...;
5351 {$endif}
5452...
5553```
5654
57-\
5855Beispiel 4: Abfragen, ob es sich um eine Intel/AMD 32/64Bit CPU handelt:\
5956
6057``` pascal
6158...
6259 {$if defined(cpux86_64) or defined(cpux86)}
6360 ...; // Intel/AMD-CPU
6461 {$else}
6562 ...; // Es ist keine PC-CPU, zB. ARM (Raspberry)
6663 {$endif}
6764...
6865```
6966
70-\
71-
7267# Vordefinierte Symbole
7368
7469Vordefinierte Symbole (predefined symbols) werden im Gegensatz zu selbstdefinierten Symbolen vom Compiler erstellt.\
7570Das Erstellen der vordefinierten Symbole (predefined symbols) hängt von bestimmten Bedingungen wie Compilereinstellung, Prozessor usw. ab.\
7671Das heißt, das nicht alle vordefinierten Symbole gleichzeitig existieren (vorkommen) können.\
7772Vordefinierte Symbole (predefined symbols) gelten im Gegensatz zu selbstdefinierten Symbolen global, d. h. sie gelten für das gesamte Programm.\
7873Vordefinierte Symbole (predefined symbols) werden wie selbstdefinerte Symbole verwendet.\
79-\
74+
8075Liste der vordefinieten Symbole:\
8176Diese Symbole können beim compilieren vom Compiler definert werden.\
8277Das heisst, das während des
8378
84-Diese Liste vordefinierter Symbole werden <b>möglicherweise</b> beim compilieren gesetzt.\
79+Diese Liste vordefinierter Symbole werden möglicherweise beim compilieren gesetzt.\
8580Das heisst, diese Symbole können möglicherweise nicht existieren (vorkommen).\
8681
87-<table border="1">
88-
89-<tr>
90-
91-<td>
92-
9382Symbol
9483
95-</td>
96-
97-<td>
98-
9984Beschreibung
10085
101-</td>
102-
103-</tr>
104-
105-<tr>
106-
107-<td>
108-
10986FPC_LINK_DYNAMIC
11087
111-</td>
112-
113-<td>
114-
11588Das vordefinerte Symbol ist gesetzt, wenn das Programm mit dynamischem Linken erstellt wird.\
11689Das entspricht dem Compiler switch -XC.
11790
118-</td>
119-
120-</tr>
121-
122-<tr>
123-
124-<td>
125-
12691FPC_LINK_STATIC
12792
128-</td>
129-
130-<td>
131-
13293Das vordefinerte Symbol ist gesetzt, wenn das Programm statisch gelinkt wird.\
13394Das ist die Standardeinstellung.
13495
135-</td>
136-
137-</tr>
138-
139-<tr>
140-
141-<td>
142-
14396FPC_LINK_SMART
14497
145-</td>
146-
147-<td>
148-
14998Das vordefinerte Symbol ist gesetzt, wenn das Programm smart gelinkt wird.\
15099Das entspricht dem Compiler switch -XX
151100
152-</td>
153-
154-</tr>
155-
156-<tr>
157-
158-<td>
159-
160101FPC_PROFILE
161102
162-</td>
163-
164-<td>
165-
166103Das vordefinerte Symbol ist gesetzt, wenn profiling code zum Programm hinzugefügt wird.\
167104Das entspricht dem Compiler switch -pg
168105
169-</td>
170-
171-</tr>
172-
173-<tr>
174-
175-<td>
176-
177106FPC_CROSSCOMPILING
178107
179-</td>
180-
181-<td>
182-
183108Das vordefinerte Symbol ist gesetzt, wenn das Zielbetriebsystem festgelegt wurde.
184109
185-</td>
186-
187-</tr>
188-
189-<tr>
190-
191-<td>
192-
193110FPC
194111
195-</td>
196-
197-<td>
198-
199112Das vordefinerte Symbol ist bei Free Pascal immer gesetzt.
200113
201-</td>
202-
203-</tr>
204-
205-<tr>
206-
207-<td>
208-
209114VER2
210115
211-</td>
212-
213-<td>
214-
215116Das vordefinerte Symbol ist bei Free Pascal Version 2.x.x immer gesetzt.
216117
217-</td>
218-
219-</tr>
220-
221-<tr>
222-
223-<td>
224-
225118VER2_0
226119
227-</td>
228-
229-<td>
230-
231120Das vordefinerte Symbol ist bei Free Pascal Version 2.0.x immer gesetzt.
232121
233-</td>
234-
235-</tr>
236-
237-<tr>
238-
239-<td>
240-
241122VER2_2
242123
243-</td>
244-
245-<td>
246-
247124Das vordefinerte Symbol ist bei Free Pascal Version 2.2.x immer gesetzt.
248125
249-</td>
250-
251-</tr>
252-
253-<tr>
254-
255-<td>
256-
257126FPC_VERSION
258127
259-</td>
260-
261-<td>
262-
263128Enthält die Hauptversionsnummer von FPC.
264129
265-</td>
266-
267-</tr>
268-
269-<tr>
270-
271-<td>
272-
273130FPC_RELEASE
274131
275-</td>
276-
277-<td>
278-
279132Enthält die Unterversionsnummer von FPC.
280133
281-</td>
282-
283-</tr>
284-
285-<tr>
286-
287-<td>
288-
289134FPC_PATCH
290135
291-</td>
292-
293-<td>
294-
295136Enthält die Revisionsnummer von FPC.
296137
297-</td>
298-
299-</tr>
300-
301-<tr>
302-
303-<td>
304-
305138FPC_FULLVERSION
306139
307-</td>
308-
309-<td>
310-
311140Enthält die vollständige Versionsnummer als Ganzzahl.\
312141Für FPC 2.6.0 ist der Wert 20600.
313142
314-</td>
315-
316-</tr>
317-
318-<tr>
319-
320-<td>
321-
322143ENDIAN_LITTLE
323144
324-</td>
325-
326-<td>
327-
328145Das vordefinerte Symbol ist gesetzt, wenn das Ziel ein [[Glossary/de|little-endian]] Prozessor ist(80x86, Alpha, ARM, MIPS little endian).\
329146Die Begriffe Little-Endian und Big-Endian bezeichnen bei Prozessoren die Speicherorganisation für einfache Zahlenwerte.
330147
331-</td>
332-
333-</tr>
334-
335-<tr>
336-
337-<td>
338-
339148ENDIAN_BIG
340149
341-</td>
342-
343-<td>
344-
345150Das vordefinerte Symbol ist gesetzt, wenn das Ziel ein [[Glossary/de|big-endian]] Prozessor ist (680x0, PowerPC, SPARC, MIPS big endian).\
346151Die Begriffe Little-Endian und Big-Endian bezeichnen bei Prozessoren die Speicherorganisation für einfache Zahlenwerte.
347152
348-</td>
349-
350-</tr>
351-
352-<tr>
353-
354-<td>
355-
356153FPC_DELPHI
357154
358-</td>
359-
360-<td>
361-
362155Free Pascal arbeitet im Delphi-Modus.\
363156Das entspricht dem Compiler switch -MDelphi bzw. dem Compilermodus \$MODE DELPHI)
364157
365-</td>
366-
367-</tr>
368-
369-<tr>
370-
371-<td>
372-
373158FPC_OBJFPC
374159
375-</td>
376-
377-<td>
378-
379160Free Pascal arbeitet im OBJFPC-Modus.\
380161Das entspricht dem Compiler switch -Mobjfpc bzw. dem Compilermodus \$MODE OBJFPC)
381162
382-</td>
383-
384-</tr>
385-
386-<tr>
387-
388-<td>
389-
390163FPC_TP
391164
392-</td>
393-
394-<td>
395-
396165Free Pascal arbeitet im Turbopascal-Modus.\
397166Das entspricht dem Compiler switch -Mtp bzw. dem Compilermodus \$MODE TP)
398167
399-</td>
400-
401-</tr>
402-
403-<tr>
404-
405-<td>
406-
407168FPC_GPC
408169
409-</td>
410-
411-<td>
412-
413170Free Pascal arbeitet im GNU Pascal-Modus.\
414171Das entspricht dem Compiler switch -SP bzw. dem Compilermodus \$MODE GPC)
415172
416-</td>
417-
418-</tr>
419-
420-</table>
421-
422-\
423-\
424173Folgende CPU-Typen können beim compilieren vom Compiler gesetzt werden.\
425-\
426174
427-<table border="1">
428-
429-<tr>
430-
431-<td>
432-
433175Symbol
434176
435-</td>
436-
437-<td>
438-
439177Beschreibung
440178
441-</td>
442-
443-</tr>
444-
445-<tr>
446-
447-<td>
448-
449179CPU86
450180
451-</td>
452-
453-<td>
454-
455181Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Intel80x86 oder kompatibler Prozessor ist.
456182
457-</td>
458-
459-</tr>
460-
461-<tr>
462-
463-<td>
464-
465183CPU87
466184
467-</td>
468-
469-<td>
470-
471185Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Intel80x87 oder kompatibler Prozessor ist.
472186
473-</td>
474-
475-</tr>
476-
477-<tr>
478-
479-<td>
480-
481187CPU386
482188
483-</td>
484-
485-<td>
486-
487189Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Intel386 oder ein späterer Prozessortyp ist.
488190
489-</td>
490-
491-</tr>
492-
493-<tr>
494-
495-<td>
496-
497191CPU68K
498192
499-</td>
500-
501-<td>
502-
503193Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Motorola 680x0 oder kompatibler Prozessor ist.
504194
505-</td>
506-
507-</tr>
508-
509-<tr>
510-
511-<td>
512-
513195CPUM68020
514196
515-</td>
516-
517-<td>
518-
519197Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Motorola 68020 oder ein späterer Prozessortyp ist.
520198
521-</td>
522-
523-</tr>
524-
525-<tr>
526-
527-<td>
528-
529199CPU68
530200
531-</td>
532-
533-<td>
534-
535201Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Motorola 680x0 oder kompatibler Prozessor ist.
536202
537-</td>
538-
539-</tr>
540-
541-<tr>
542-
543-<td>
544-
545203CPUSPARC32
546204
547-</td>
548-
549-<td>
550-
551205Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein SPARC v7 oder kompatibler Prozessor ist.
552206
553-</td>
554-
555-</tr>
556-
557-<tr>
558-
559-<td>
560-
561207CPUSPARC
562208
563-</td>
564-
565-<td>
566-
567209Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein SPARC v7 oder kompatibler Prozessor ist.
568210
569-</td>
570-
571-</tr>
572-
573-<tr>
574-
575-<td>
576-
577211CPUALPHA
578212
579-</td>
580-
581-<td>
582-
583213Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Alpha AXP oder kompatibler Prozessor ist.
584214
585-</td>
586-
587-</tr>
588-
589-<tr>
590-
591-<td>
592-
593215CPUPOWERPC
594216
595-</td>
596-
597-<td>
598-
599217Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 32-bit or 64-bit PowerPC oder kompatibler Prozessor ist.
600218
601-</td>
602-
603-</tr>
604-
605-<tr>
606-
607-<td>
608-
609219CPUPOWERPC32
610220
611-</td>
612-
613-<td>
614-
615221Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 32-bit PowerPC oder kompatibler Prozessor ist.
616222
617-</td>
618-
619-</tr>
620-
621-<tr>
622-
623-<td>
624-
625223CPUPOWERPC64
626224
627-</td>
628-
629-<td>
630-
631225Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 64-bit PowerPC oder kompatibler Prozessor ist.
632226
633-</td>
634-
635-</tr>
636-
637-<tr>
638-
639-<td>
640-
641227CPUX86
642228
643-</td>
644-
645-<td>
646-
647229Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein AMD64 oder Intel 32-bit Prozessor ist.
648230
649-</td>
650-
651-</tr>
652-
653-<tr>
654-
655-<td>
656-
657231CPUX86_64
658232
659-</td>
660-
661-<td>
662-
663233Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein AMD64 oder Intel 64-bit Prozessor ist.
664234
665-</td>
666-
667-</tr>
668-
669-<tr>
670-
671-<td>
672-
673235CPUAMD64
674236
675-</td>
676-
677-<td>
678-
679237Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein AMD64 oder Intel 64-bit Prozessor ist.
680238
681-</td>
682-
683-</tr>
684-
685-<tr>
686-
687-<td>
688-
689239CPUIA64
690240
691-</td>
692-
693-<td>
694-
695241Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein Intel Itanium 64-bit Prozessor ist.
696242
697-</td>
698-
699-</tr>
700-
701-<tr>
702-
703-<td>
704-
705243CPUARM
706244
707-</td>
708-
709-<td>
710-
711245Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein ARM 32-bit Prozessor ist.
712246
713-</td>
714-
715-</tr>
716-
717-<tr>
718-
719-<td>
720-
721247CPUAVR
722248
723-</td>
724-
725-<td>
726-
727249Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 8/16Bit AVR.
728250
729-</td>
730-
731-</tr>
732-
733-<tr>
734-
735-<td>
736-
737251CPU16
738252
739-</td>
740-
741-<td>
742-
743253Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 16-bit Prozessor ist.
744254
745-</td>
746-
747-</tr>
748-
749-<tr>
750-
751-<td>
752-
753255CPU32
754256
755-</td>
756-
757-<td>
758-
759257Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 32-bit Prozessor ist.
760258
761-</td>
762-
763-</tr>
764-
765-<tr>
766-
767-<td>
768-
769259CPU64
770260
771-</td>
772-
773-<td>
774-
775261Das vordefinerte Symbol ist gesetzt, wenn der Zielprozessor ein 64-bit Prozessor ist.
776262
777-</td>
778-
779-</tr>
780-
781-</table>
782-
783-\
784-\
785263Folgende Fliesskomma-Einheiten können beim compilieren vom Compiler gesetzt werden.\
786264
787-<table border="1">
788-
789-<tr>
790-
791-<td>
792-
793265Symbol
794266
795-</td>
796-
797-<td>
798-
799267Beschreibung
800268
801-</td>
802-
803-</tr>
804-
805-<tr>
806-
807-<td>
808-
809269FPUSOFT
810270
811-</td>
812-
813-<td>
814-
815271Softwareemulation der Fliesskommaeinheit (betrifft alle CPU Typen).
816272
817-</td>
818-
819-</tr>
820-
821-<tr>
822-
823-<td>
824-
825273FPUSSE64
826274
827-</td>
828-
829-<td>
830-
831275Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine SSE64 FPU oder höher oder AMD64 ist.
832276
833-</td>
834-
835-</tr>
836-
837-<tr>
838-
839-<td>
840-
841277FPUSSE
842278
843-</td>
844-
845-<td>
846-
847279Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine SSE-Einheit auf einem Intel386 Prozessor und höher ist.
848280
849-</td>
850-
851-</tr>
852-
853-<tr>
854-
855-<td>
856-
857281FPUSSE2
858282
859-</td>
860-
861-<td>
862-
863283Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine SSE2-Einheit auf einem Intel386 Prozessor und höher ist.
864284
865-</td>
866-
867-</tr>
868-
869-<tr>
870-
871-<td>
872-
873285FPUSSE3
874286
875-</td>
876-
877-<td>
878-
879287Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine SSE3-Einheit auf einem Intel386 Prozessor und höher ist.
880288
881-</td>
882-
883-</tr>
884-
885-<tr>
886-
887-<tr>
888-
889-<td>
890-
891289FPULIBGCC
892290
893-</td>
894-
895-<td>
896-
897291Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine Emulation mittels GCC-Bibliothek auf einem ARM oder einem M86K Prozessor ist.
898292
899-</td>
900-
901-</tr>
902-
903-<tr>
904-
905-<td>
906-
907293FPU68881
908294
909-</td>
910-
911-<td>
912-
913295Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit ein 68881 aufeinem M68K Prozessor ist.
914296
915-</td>
916-
917-</tr>
918-
919-<tr>
920-
921-<td>
922-
923297FPUFPA
924298
925-</td>
926-
927-<td>
928-
929299Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine FPA auf einem ARM Prozessor ist.
930300
931-</td>
932-
933-</tr>
934-
935-<tr>
936-
937-<td>
938-
939301FPUFPA10
940302
941-</td>
942-
943-<td>
944-
945303Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine FPA 10 auf einem ARM Prozessorist.
946304
947-</td>
948-
949-</tr>
950-
951-<tr>
952-
953-<td>
954-
955305FPUFPA11
956306
957-</td>
958-
959-<td>
960-
961307Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine FPA 11 auf einem ARM Prozessor ist.
962308
963-</td>
964-
965-</tr>
966-
967-<tr>
968-
969-<td>
970-
971309FPUVFP
972310
973-</td>
974-
975-<td>
976-
977311Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine VFP auf einem ARM Prozessor ist.
978312
979-</td>
980-
981-</tr>
982-
983-<tr>
984-
985-<td>
986-
987313FPUX87
988314
989-</td>
990-
991-<td>
992-
993315Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit eine x87 auf einem Intel386 Prozessor oder höher ist.
994316
995-</td>
996-
997-</tr>
998-
999-<tr>
1000-
1001-<td>
1002-
1003317FPUITANIUM
1004318
1005-</td>
1006-
1007-<td>
1008-
1009319Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit auf einem Intel Itanium Prozessor ist.
1010320
1011-</td>
1012-
1013-</tr>
1014-
1015-<tr>
1016-
1017-<td>
1018-
1019321FPUSTANDARD
1020322
1021-</td>
1022-
1023-<td>
1024-
1025323Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit auf einem PowerPC (32/64 bit) Prozessor ist.
1026324
1027-</td>
1028-
1029-</tr>
1030-
1031-<tr>
1032-
1033-<td>
1034-
1035325FPUHARD
1036326
1037-</td>
1038-
1039-<td>
1040-
1041327Das vordefinerte Symbol ist gesetzt, wenn die Fliesskommaeinheit auf einem Sparc Prozessor ist.
1042328
1043-</td>
1044-
1045-</tr>
1046-
1047-</table>
1048-
1049-\
1050329Folgende Betriebssystemsymbole können beim compilieren vom Compiler gesetzt werden.\
1051330
1052-<table border="1">
1053-
1054-<tr>
1055-
1056-<td>
1057-
1058331Zielbetriebssystem
1059332
1060-</td>
1061-
1062-<td>
1063-
1064333Symbol(e)
1065334
1066-</td>
1067-
1068-</tr>
1069-
1070-<tr>
1071-
1072-<td>
1073-
1074335linux
1075336
1076-</td>
1077-
1078-<td>
1079-
1080337LINUX, UNIX
1081338
1082-</td>
1083-
1084-</tr>
1085-
1086-<tr>
1087-
1088-<td>
1089-
1090339freebsd
1091340
1092-</td>
1093-
1094-<td>
1095-
1096341FREEBSD, BSD, UNIX
1097342
1098-</td>
1099-
1100-</tr>
1101-
1102-<tr>
1103-
1104-<td>
1105-
1106343netbsd
1107344
1108-</td>
1109-
1110-<td>
1111-
1112345NETBSD, BSD, UNIX
1113346
1114-</td>
1115-
1116-</tr>
1117-
1118-<tr>
1119-
1120-<td>
1121-
1122347sunos
1123348
1124-</td>
1125-
1126-<td>
1127-
1128349SUNOS, SOLARIS, UNIX
1129350
1130-</td>
1131-
1132-</tr>
1133-
1134-<tr>
1135-
1136-<td>
1137-
1138351go32v2 (Erweiterung für DOS)
1139352
1140-</td>
1141-
1142-<td>
1143-
1144353GO32V2, DPMI
1145354
1146-</td>
1147-
1148-</tr>
1149-
1150-<tr>
1151-
1152-<td>
1153-
1154355os2
1155356
1156-</td>
1157-
1158-<td>
1159-
1160357OS2
1161358
1162-</td>
1163-
1164-</tr>
1165-
1166-<tr>
1167-
1168-<td>
1169-
1170359emx (Erweiterung für DOS, OS2)
1171360
1172-</td>
1173-
1174-<td>
1175-
1176361OS2, EMX
1177362
1178-</td>
1179-
1180-</tr>
1181-
1182-<tr>
1183-
1184-<td>
1185-
1186363Windows (alle Versionen)
1187364
1188-</td>
1189-
1190-<td>
1191-
1192365WINDOWS
1193366
1194-</td>
1195-
1196-</tr>
1197-
1198-<tr>
1199-
1200-<td>
1201-
1202367Windows 32-bit
1203368
1204-</td>
1205-
1206-<td>
1207-
1208369WIN32, MSWINDOWS
1209370
1210-</td>
1211-
1212-</tr>
1213-
1214-<tr>
1215-
1216-<td>
1217-
1218371Windows 64-bit
1219372
1220-</td>
1221-
1222-<td>
1223-
1224373WIN64, MSWINDOWS
1225374
1226-</td>
1227-
1228-</tr>
1229-
1230-<tr>
1231-
1232-<td>
1233-
1234375Windows (winCE)
1235376
1236-</td>
1237-
1238-<td>
1239-
1240377WINCE, UNDER_CE, UNICODE
1241378
1242-</td>
1243-
1244-</tr>
1245-
1246-<tr>
1247-
1248-<td>
1249-
1250379Classic Amiga
1251380
1252-</td>
1253-
1254-<td>
1255-
1256381AMIGA
1257382
1258-</td>
1259-
1260-</tr>
1261-
1262-<tr>
1263-
1264-<td>
1265-
1266383Atari TOS
1267384
1268-</td>
1269-
1270-<td>
1271-
1272385ATARI
1273386
1274-</td>
1275-
1276-</tr>
1277-
1278-<tr>
1279-
1280-<td>
1281-
1282387Classic Macintosh
1283388
1284-</td>
1285-
1286-<td>
1287-
1288389MAC
1289390
1290-</td>
1291-
1292-</tr>
1293-
1294-<tr>
1295-
1296-<td>
1297-
1298391PalmOS
1299392
1300-</td>
1301-
1302-<td>
1303-
1304393PALMOS
1305394
1306-</td>
1307-
1308-</tr>
1309-
1310-<tr>
1311-
1312-<td>
1313-
1314395PalmOS
1315396
1316-</td>
1317-
1318-<td>
1319-
1320397PALMOS
1321398
1322-</td>
1323-
1324-</tr>
1325-
1326-<tr>
1327-
1328-<td>
1329-
1330399BeOS
1331400
1332-</td>
1333-
1334-<td>
1335-
1336401BEOS, UNIX
1337402
1338-</td>
1339-
1340-</tr>
1341-
1342-<tr>
1343-
1344-<td>
1345-
1346403QNX RTP
1347404
1348-</td>
1349-
1350-<td>
1351-
1352405QNX, UNIX
1353406
1354-</td>
1355-
1356-</tr>
1357-
1358-<tr>
1359-
1360-<td>
1361-
1362407Mac OS X
1363408
1364-</td>
1365-
1366-<td>
1367-
1368409BSD, DARWIN, UNIX
1369-
1370-</td>
1371-
1372-</tr>
1373-
1374-</table>
1375410
1376411---
1377412*From the Free Pascal wiki, page "Conditional compilation/de", as it stood on 2020-02-11 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history