编译器警告(等级 1)C4162

“identifier”:未找到带 C 链接的函数

声明了具有 C 链接的函数,但找不到。

要解决此警告,请在 .c 文件中编译(调用 C 编译器)。 如果必须调用 C++ 编译器,请将 extern“C”置于函数声明之前。

以下示例生成 C4162

// C4162.cpp
// compile with: /c /W1
unsigned char _bittest(long* a, long b);
#pragma intrinsic (_bittest)   // C4162

int main() {
   bool bit;
   long num = 78002;
   bit = _bittest(&num, 5);
}

可能的解决方法:

// C4162b.cpp
// compile with: /c
extern "C"
unsigned char _bittest(long* a, long b);
#pragma intrinsic (_bittest)

int main() {
   bool bit;
   long num = 78002;
   bit = _bittest(&num, 5);
}