3

突然、.hヘッダーファイルに書いた新しい関数と、私が書いた古い関数を使用できなくなりました。信じられません:S

stdafx.h

#include "function.h"

Hook.h

#include "stdafx.h"

    namespace DragoN_Hook
    {
            void EditOrginalCastleWar(int StartHour,int EndHour){

            unsigned char lol[4] = {0x83, 0x7A, 0x08,(unsigned char)StartHour};
            MemoryCopy((DWORD)0x00411A05,(DWORD)&lol,4);

    }
}

関数.h

LPVOID MemoryCopy(DWORD destination, DWORD source, int length);

関数.cpp

LPVOID MemoryCopy(DWORD destination, DWORD source, int length)
{
    DWORD oldSource      = 0;
    DWORD oldDestination = 0;

    VirtualProtect((LPVOID)source,length,PAGE_EXECUTE_READWRITE,&oldSource);
    VirtualProtect((LPVOID)destination,length,PAGE_EXECUTE_READWRITE,&oldDestination);

    memcpy((void*)destination,(void*)source,length);

    VirtualProtect((LPVOID)destination,length,oldDestination,&oldDestination);
    VirtualProtect((LPVOID)source,length,oldSource,&oldSource);

    return (LPVOID)destination;
};

エラー *エラー C3861: 'MemoryCopy': 識別子が見つかりません*

4

1 に答える 1

2

これは通常、プリコンパイル済みヘッダーが再構築されない個々のファイルをコンパイルするときに発生します。ソリューションを再構築すると、ヘッダーが再作成されます。また、プリコンパイル済みヘッダーを無効にすることもでき、対処する必要はありません。

于 2013-02-22T19:51:08.567 に答える