打开旧版本的 C 文件
Opening an old version of a C file
我需要安装一个用于可视化星系模拟的程序(tipsy)(我的物理学教授向我推荐了它,他也在使用它)。
我尝试安装它,我创建了 makefile,但是当我 运行 它时,我收到以下代码的错误:
framepoints(job)
char job[MAXCOMM] ;
{
char command[MAXCOMM] ;
char file_root[MAXCOMM] ;
char particle_type[MAXCOMM] ;
int box ;
struct gas_particle *gp ;
struct dark_particle *dp ;
struct star_particle *sp ;
double part_pos[2] ;
int i,j,k ;
char projection_type[MAXCOMM] ;
if (sscanf(job,"%s %d %s %s",command,&box,
particle_type,file_root) == 4) {
if(strcmp(particle_type,"star") != 0 &&
strcmp(particle_type,"gas") != 0 &&
strcmp(particle_type,"dark") != 0 &&
strcmp(particle_type,"gasandstar") != 0 &&
strcmp(particle_type,"darkandstar") != 0 &&
strcmp(particle_type,"darkandgas") != 0 &&
strcmp(particle_type,"all") != 0) {
printf("<sorry, %s is not a particle option, %s>\n",
particle_type,title) ;
return ;
}
错误说:
non-void function 'framepoints' should return a value
我了解到这个没有任何值的return来自C89之前的版本,但我不知道如何解决它。为了安装它,我需要 运行 的代码很长,所以我无法手动修改它(而且我的教授告诉我它可以工作)。
换行
return;
到
return 0;
或类似的东西来解决这个问题。或者,传递选项
-Wno-return-type
编译器(如果您使用的是 clang
,OS X 上的默认编译器)以使这不是错误。
我需要安装一个用于可视化星系模拟的程序(tipsy)(我的物理学教授向我推荐了它,他也在使用它)。
我尝试安装它,我创建了 makefile,但是当我 运行 它时,我收到以下代码的错误:
framepoints(job)
char job[MAXCOMM] ;
{
char command[MAXCOMM] ;
char file_root[MAXCOMM] ;
char particle_type[MAXCOMM] ;
int box ;
struct gas_particle *gp ;
struct dark_particle *dp ;
struct star_particle *sp ;
double part_pos[2] ;
int i,j,k ;
char projection_type[MAXCOMM] ;
if (sscanf(job,"%s %d %s %s",command,&box,
particle_type,file_root) == 4) {
if(strcmp(particle_type,"star") != 0 &&
strcmp(particle_type,"gas") != 0 &&
strcmp(particle_type,"dark") != 0 &&
strcmp(particle_type,"gasandstar") != 0 &&
strcmp(particle_type,"darkandstar") != 0 &&
strcmp(particle_type,"darkandgas") != 0 &&
strcmp(particle_type,"all") != 0) {
printf("<sorry, %s is not a particle option, %s>\n",
particle_type,title) ;
return ;
}
错误说:
non-void function 'framepoints' should return a value
我了解到这个没有任何值的return来自C89之前的版本,但我不知道如何解决它。为了安装它,我需要 运行 的代码很长,所以我无法手动修改它(而且我的教授告诉我它可以工作)。
换行
return;
到
return 0;
或类似的东西来解决这个问题。或者,传递选项
-Wno-return-type
编译器(如果您使用的是 clang
,OS X 上的默认编译器)以使这不是错误。