| **Navigation:**  [[introduction.htm|Language Reference]] > 3 - Variable Declarations > Data Types >====== INT64 (64bit signed integer) ====== | [[ulong four byte unsigned integer .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[uint64.htm|{{btn_next_n.gif|Next page}}]] | | || ===== Coming in a future release ===== | label | **INT64(**[//initial value//]**)** | [,**DIM( )**] [,**OVER( )**] [,**NAME( )**] [,**EXTERNAL**] [,**DLL**] [,**STATIC**] | | | | [,**THREAD**] [,**AUTO**] [,**PRIVATE**] [,**PROTECTED**] | {{blk2blue.jpg|blk2blue.jpg}} | **INT64** | A 64bit signed integer. Uses 8 bytes of memory. | Range: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | //initial value// | A numeric constant. If omitted, the initial value is zero, unless the AUTO attribute is present. | | **DIM** | Dimension the variable as an array. | | **OVER** | Share a memory location with another variable. | | **NAME** | Specify an alternate, "external" name for the field. | | **EXTERNAL** | Specify the variable is defined, and its memory is allocated, in an external library. Not valid within FILE, QUEUE, or GROUP declarations. | | **DLL** | Specify the variable is defined in a .DLL. This is required in addition to the EXTERNAL attribute. | | **STATIC** | Specify the variable's memory is permanently allocated. | | **THREAD** | Specify memory for the variable is allocated once for each execution thread. Also implicitly adds the STATIC attribute on Procedure Local data. | | **AUTO** | Specify the variable has no //initial value//. | | **PRIVATE** | Specify the variable is not visible outside the module containing the CLASS methods. Valid only in a CLASS. | | **PROTECTED** | Specify the variable is not visible outside base CLASS and derived CLASS methods. Valid only in a CLASS. | **INT64** declares an eight-byte signed integer. ** 64-bits integer constants can't be used in an ITEMIZE structure. ** 64-bits integer constants and EQUATEs are not allowed in expressions in OMIT/COMPILE directives. ** EQUATEs naming 64-bits integer constants are supported. **Example:** **Count1 INT64                        !Declare 64bit signed integer** **Count3 INT64,DIM(4)                 !Declare it an array of 4 ** **Count4 INT64(5)                     !Declare with initial value** **Count5 INT64,EXTERNAL               !Declare as external** **Count6 INT64,EXTERNAL,DLL           !Declare as external in a .DLL** **Count7 INT64,NAME('SixCount')       !Declare with external name** **see also: [[uint64.htm|UINT64]]**