次の方法で共有


コンパイラの警告 (レベル 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);
}