zoukankan      html  css  js  c++  java
  • windows 核心编程第五版 源代码 无法编译的问题

          这段时间没事做,找了本windows 核心编程第五版 来看,下了源代码,编译,200多的编译错误。

    上网找了下,都说装最新的SDK,当然,如果是家里的电脑,那安装就好了。如果是工作电脑最好就谨慎点。

    装了SDK也不一定好使,有的哥们装了,原来的又编译不过了,都是路径的问题。

          其实也不一定需要更新SDK,主要是认真看看问题,第五版是关联到VISTA,所以有些宏或函数就变成在之下的系统不能用了。

         举个例子,APIHOOK的代码中有一段这样

    void CAPIHook::FixupNewlyLoadedModule(HMODULE hmod, DWORD dwFlags) {

       // If a new module is loaded, hook the hooked functions
       if ((hmod != NULL) &&   // Do not hook our own module
           (hmod != ModuleFromAddress(FixupNewlyLoadedModule)) &&
        
           ((dwFlags & LOAD_LIBRARY_AS_DATAFILE) == 0) &&
          ((dwFlags & LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE) == 0) &&
           ((dwFlags & LOAD_LIBRARY_AS_IMAGE_RESOURCE) == 0)
           ) {

          for (CAPIHook* p = sm_pHead; p != NULL; p = p->m_pNext) {
             if (p->m_pfnOrig != NULL) {
                ReplaceIATEntryInAllMods(p->m_pszCalleeModName,
                   p->m_pfnOrig, p->m_pfnHook);  
             } else {
    #ifdef _DEBUG
                // We should never end up here
                wchar_t szPathname[MAX_PATH];
                GetModuleFileNameW(NULL, szPathname, _countof(szPathname));
                wchar_t sz[1024];
                StringCchPrintfW(sz, _countof(sz),
                   TEXT("[%4u - %s] impossible to find %S\r\n"),
                   GetCurrentProcessId(), szPathname, p->m_pszCalleeModName);
                OutputDebugString(sz);
    #endif
             }
          }
       }
    }

    注意红色部分:LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE和LOAD_LIBRARY_AS_IMAGE_RESOURCE在Vista之下的系统根本没用,所以只要把代码((dwFlags & LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE) == 0) &&
           ((dwFlags & LOAD_LIBRARY_AS_IMAGE_RESOURCE) == 0)删除掉就能顺利编译了。

    另外windows 核心编程第五版的随书代码,有些是需要Mfc库支持的,如果发现有的代码不行,就链接MFC试试。

  • 相关阅读:
    for xml path(''),root('')
    [小明带你玩儿Photon]4.一起来看日志
    [小明带你玩儿Photon]3.Hello World i
    [小明带你玩儿Photon]2.从零开始一个程序
    [小明带你玩儿Photon]1.Photon介绍
    杂记
    FluentNHibernate初探[1]
    [Navigation]Navigation初探[2]
    [Navigation]Navigation初探[1]
    动画系统的animator
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1760989.html
Copyright © 2011-2022 走看看