cpp on 16 bits ?  you're kidding ?

BTW, long and int are NOT always the same size:
linux, x86_64 machine:
```
[philippe@laptop test]$ cat long-int.c 
#include <stdio.h>

int main(void) {

        printf("int size: %d\n", sizeof(int));
        printf("long size: %d\n", sizeof(long));
        return 0;
}
[philippe@laptop test]$ gcc long-int.c && ./a.out
int size: 4
long size: 8
[philippe@laptop test]$ gcc -m32 long-int.c && ./a.out
int size: 4
long size: 4
```