0
私はDLL足すいます:呼び出し非DLL関数は
をしかし、私はMS VCでそれをコンパイルしようとすると、それが言うエクスプレス++:
エラーC3861: '試験' :識別子が見つかりません
test
をmyDLLFunc
から電話する方法を教えてください。 明白なことがありませんか?
ありがとうございます。
私はDLL足すいます:呼び出し非DLL関数は
をしかし、私はMS VCでそれをコンパイルしようとすると、それが言うエクスプレス++:
エラーC3861: '試験' :識別子が見つかりません
test
をmyDLLFunc
から電話する方法を教えてください。 明白なことがありませんか?
ありがとうございます。
呼び出し元よりも先に呼び出された関数をコードに入れてコンパイルする必要があります。 C++は呼び出された関数を先読みしていないため、使用前に宣言する必要があります。
#include "stdafx.h"
int test(int arg)
{
return arg * arg;
}_DLLAPI int __stdcall myDLLFunc()
{
return test(4);
}
通常は、依存関係の複雑さを低減する(コードファイル内の)定義から(ヘッダファイルに)別の関数の宣言を維持するであろう。
または、myDLLFunc()の上にtest()を移動しなくても、test()の前方宣言を行うことができます。 –
@Ganesh - ありがとう、私はヘッダー/コードの分離についてのメモを追加しました –