03-09-2009 06:13 AM
I have send a response on this forum that CVI 7.0 supports 64-bit integers (by Mr. Matthews).
We run CVI 8.0.0 and the following code does not compile:
#define UInt64 unsigned long long
#define Int64 signed long long
UInt64 temp = 0;
Produces the error "Invalid use of 'long'."
Can I assume that this is not true and that CVI 8.0.0 and 7 do not support 64-bit integers?
03-09-2009 06:24 AM
Browser crashed. Moderators please delete duplicate thread.
03-09-2009 06:34 AM
The CVI help on Data Types shows both unsigned __int64 and __int64 available for 64 bit integer work. I have used them without difficulty from CVI 7.0 onwards, although some people have reported compiler issues with certain use cases - a search of the forum should soon find the related threads.
JR
03-09-2009 10:42 AM
Hello Christopher,
The long long syntax was only introduced in version 8.5. In previous versions, you would have had to use__int64, as JR pointed out.The two types are equivalent.
Luis
03-09-2009 11:12 AM
I have recoded the function to use __int64 and binned my Watcom C DLL that did the work before. It compiles up okay, but I have not had chance to run it yet.
I have had a look through the forum on __int64 issues, and all my variables are non static so I should not get the GPE problem.
Thanks.