Sign in Join
Wiki copytemporary

maxint/fr: what changed

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

Title: maxint/fr

OldNewLine
1+**MAXINT** est un constante globale, égale à la limite supérieure du type [[Integer/fr|integer]], [per the ISO 7185 standard](http://www.moorecad.com/standardpascal/iso7185.html#6.7.2.2%20Arithmetic%20operators).
2+
3+Notez que cette valeur varie avec le compilateur indépendamment des capacités de la machine hôte ou de la cible (donc portabilité assurée entre des machines différentes ayant la même compilateur).
4+
5+Si vous voulez contrôler la taille de l'espace d'adressage, contrôlez **sizeof(pointer)**.
6+
7+Si vous voulez savoir si vous exécuter sur un CPU avec 64-bit ALU, contrôlez si le symbole **cpu64** est défini.
8+
9+L'exemple suivant illustre comment ces valeurs sont articulées :
10+
11+``` pascal
12+program maxvals;
13+ const width = 20;
14+begin
15+ writeln;
16+ writeln( 'these change depending on compiler mode:' );
17+ writeln( '----------------------------------------' );
18+ writeln( 'maxint: :', maxint : width );
19+ writeln( 'high( integer ) :', high( integer ) : width );
20+ writeln;
21+ writeln( 'constant, regardless of mode or target: ' );
22+ writeln( '----------------------------------------' );
23+ writeln( 'high( int32 ) :', high( int32 ) : width );
24+ writeln( 'high( int64 ) :', high( int64 ) : width );
25+ writeln;
26+ writeln( 'variable, depending on target cpu:' );
27+ writeln( '----------------------------------------' );
28+ writeln( 'sizeof( pointer ) :', sizeof( pointer ) : width );
29+ writeln;
30+ writeln( 'compile-time definitions:' );
31+ writeln( '----------------------------------------' );
32+ {$IFDEF cpu64} writeln( 'cpu64' ); {$ENDIF}
33+ {$IFDEF cpu32} writeln( 'cpu32' ); {$ENDIF}
34+ {$IFDEF cpu16} writeln( 'cpu16' ); {$ENDIF}
35+ writeln;
36+end.
37+```
38+
39+Comparez le résultat avec **-Mtp** puis **-Mobjfpc**, par exemple :
40+
41+ fpc -Mtp maxvals.pas && ./maxvals
42+ fpc -Mobjfpc maxvals.pas && ./maxvals
43+
44+---
45+*From the Free Pascal wiki, page "maxint/fr", as it stood on 2020-02-20 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).*
46+Category: Constants/fr
47+Category: Processors/fr

Back to history