06-16-06 12:25 AM
"wenmang@yahoo.com" <wenmang@yahoo.com> writes:
> I am using following Oracle Proc-C compiler:
> Pro*C/C++: Release 8.1.7.0.0 - Production on Thu Jun 15 15:57:32 2006
>
> (c) Copyright 2000 Oracle Corporation. All rights reserved.
>
> I like to use "long long" integer type(64 bit), but it seems that
> Oracle doesn't like it after execution, and giving me error code -1460,
> any idea about this?
If a compiler doesn't support long long, it should fail to compile any
program that uses it. If you're getting a runtime error, something
else is going on. Perhaps the compiler supports long long but the
runtime library doesn't. We have no idea what "error code -1460"
might mean, and we can't guess what the problem is without seeing
actual code.
Try these programs:
========================================
#include <stdio.h>
#include <limits.h>
int main(void)
{
printf("long long is %d bits\n", (int)sizeof(long long) * CHAR_BIT);
return 0;
}
========================================
(output should be "long long is 64 bits")
========================================
#include <stdio.h>
int main(void)
{
long long x = 42;
printf("x = %d\n", (int)x);
return 0;
}
========================================
(output should be "x = 42")
========================================
#include <stdio.h>
#include <limits.h>
int main(void)
{
long long x = LLONG_MAX;
printf("x = %lld\n", x);
return 0;
}
========================================
(output should be "x = 9223372036854775807")
The correct output may vary in the unlikely event that long long is
bigger than 64 bits.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
[ Post a follow-up to this message ]
|