我有一个C动态库,由于一些需求变化,我必须做一些重构.
我在一个c文件中有以下代码.
__attribute__((noinline))
static void *find_document(...)
{
...
}
bool docuemnt_found(const char *name) {
...
find_document(...);
...
}
Run Code Online (Sandbox Code Playgroud)
我在不同的cpp文件中分离了docuemnt_found()函数.现在docuemnt_found()函数无法链接到find_document()方法?
我尝试为c文件创建标题然后包含标题使用extern "C"但它不起作用.
我想保持find_document()内联.这里有什么遗漏或有什么不对吗?
这里的问题是函数声明为static- 在C中,这表示它应该可用于同一编译单元(.c文件)中的其他函数,但不能用于文件外的其他函数.删除static应解决问题.
顺便说一句,第二个函数拼写错误 - 它应该是document_found,而不是docuemnt_found.