我有我创建了一个库,函数声明不是一个原型
mylib.c:
#include <mylib.h>
int
testlib() {
printf("Hello world\n");
return (0);
}
mylib.h:
#include <stdio.h>
extern int testlib();
在我的计划,我已经尝试调用这个库中的函数:
myprogram.c:
#include <mylib.h>
int
main (int argc, char *argv[]) {
testlib();
return (0);
}
当我尝试编译这个程序,我得到以下错误:
In file included from myprogram.c:1 mylib.h:2 warning: function declaration isn't a prototype
我使用:gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)
我的问题是,什么是声明函数原型的正确方法?
从mylib.h中的声明中删除extern特别是如果你正在编写纯C程序,那么extern宣言是不必要的。 – 2008-09-03 17:16:55