我在 OS X 上使用i686-apple-darwin11-llvm-gcc-4.2
,我正在尝试从这个档案中编译各种程序,特别是经典的 FitCurves.c,它通过一组点拟合贝塞尔曲线。
http://tog.acm.org/resources/GraphicsGems/
一些 void 或 int 函数定义时没有返回类型,这会产生警告。
ConcaveScan.c:149:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
compare_ind(u, v) int *u, *v; {return pt[*u].y <= pt[*v].y ? -1 : 1;}
我不太确定:有一个错误
cc -g -Wno-implicit-int -Wreturn-type -c -o AAPolyScan.o AAPolyScan.c
AAPolyScan.c:106:4: error: non-void function 'drawPolygon' should return a value [-Wreturn-type]
return; /* (null polygon) */
据我了解,编译器似乎认为它被隐式声明为返回 int 的函数,但该函数返回 void,从而导致错误。return
从声明为返回 int 的函数在 C 中有意义吗?我在这里很困惑..
我怎样才能很好地编译这个?我不一定编译失败,但警告信息不是很丰富。它是使用旧语法编写的,我知道。