main.cpp
#include <stdio.h> #include "g_test.h" extern bool testFunc(); bool __attribute__((weak))testFunc() { warnf("this is weak api "); return false; } int main() { testFunc(); return 0; }
g_test.h
#ifndef __G_TEST_H_ #define __G_TEST_H_ bool testFunc(); #endif
g_test.cpp
#include "g_test.h" #include <stdio.h> bool testFunc() { printf("this is strong api "); return false; }
输出结果是调用到g_test.cpp中的testFunc函数中
如果g_test.cpp中没有实现,则调用的__attribute__((weak))的函数