我也是初学,所以仅在此做了下对比,然后记录下。
test.c
#include<utils/Log.h>
int main(void){
call_my();
LOGE("aaa");
return 0;
}
test2.c
void call_my(void){
}
同一目录下
编译
/home/javalong/media/android_source/bin/external/test/test.c:3: warning: implicit declaration of function 'call_my'
只是报了一个警告而已。
加上
extern void call_my();
下面我将源文件的后缀改为cpp
代码都不变
编译
/home/javalong/media/android_source/bin/external/test/test.cpp:3: error: 'call_my' was not declared in this scope
加上
extern void call_my();
可以解决。
引入外部的函数 必须要声明下,或者引入对应的h文件,第一种方式虽然可以通过编译,但是也有警告。