我有一个C
在机器上运行良好的代码,Solaris
但相同的代码有时会产生分段错误,有时会产生不同的输出。
以下是我在两台机器上有所不同的部分:
FILE *inf;
unsigned char *ptr;
unsigned short *ds;
int n, s;
char work[100];
inf = (FILE *) fopen("Filename", "r");
s = fseek(inf, 0, SEEK_SET);
n = fread(work, 1, sizeof(work), inf);
ptr = (unsigned char *)work;
ptr += 8;
count = 0;
ds = (unsigned short *) ptr;
count = *ds;
当我打印计数值时,它15
在Solaris
机器和机器768
中Linux
。
请建议我在 Linux 机器上对代码进行的更改。