c++头文件
一般头文件中只放变量和函数的声明,例如 void getXX();这就是函数的声明,void getXX(){........},这是函数的实现。
多个头文件可以声明同一个函数,即a.h和b.h,可以包含同一个函数的声明。
头文件不参与编译,只参与预编译,即只是把.h的内容copy到cpp文件内部。
头文件的声明方式为什么要用这种方式,其实不要也是可以的,对于函数的声明,重复的声明是没有问题的,但是如果其中存在函数的或变量的定义,那么重复的定义,就会报编译错误。
#ifndef BLPLAYER_PLAYER_H #define BLPLAYER_PLAYER_H int playVideo(jobject surface, JNIEnv *env , AVFormatContext * pFormatCtx ); int playAudio(JNIEnv * env ,jobject instance,AVFormatContext * pFormatCtx ); #endif //BLPLAYER_PLAYER_H
extrn"c"的作用是让c++编译器按照c语言生成符号表的方式,来为函数和变量生成符号表。这样在调用C语言的动态或静态库时,不至于无法找到函数,无法链接的问题。