I'm using 10 64-bit. when running the following code for example, I get an overflow and a negative number is printed, while on a linux 64-machine I get the actual number printed:
#include <stdio.h>
int main() {
long int a = 3845354610;
printf("Hello, World!%ld\n", a);
scanf("%ld", &a);
return 0;
}
The output on windows is:
Hello, World!-449612686
and on linux it's the right output.
I tried using the --build-64bit
flag in the CMake options in CLion. I'm using mingw-64 (D:\MinGW\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64
).
I tried using the cmd to compile:
gcc -Wall -Wextra -Wvla -std=c99 main.c -o ma.exe
but the output was the same. How can this be fixed?