如果使用的接口在外部有定义。那么在使用的时候,如果没有包含该接口声明所在的头文件,必须要在使用的文件中进行声明(extern)。
因为,如果不进行声明,则编译器默认将所有的参数和返回值都默认为int类型。有可能原来的参数或返回值类型不是int,而是其他的,比如指针类型。在64位机子上,数据就相当于被截断,然后再进行扩展,从而导致数据不正确,出现异常问题。
如果使用的接口在外部有定义。那么在使用的时候,如果没有包含该接口声明所在的头文件,必须要在使用的文件中进行声明(extern)。
因为,如果不进行声明,则编译器默认将所有的参数和返回值都默认为int类型。有可能原来的参数或返回值类型不是int,而是其他的,比如指针类型。在64位机子上,数据就相当于被截断,然后再进行扩展,从而导致数据不正确,出现异常问题。