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试试。

  • 相关阅读:
    Python之paramiko基础
    mysql-创建库之问题
    Jmeter--HTTP Cookie管理器
    Mysql-简单安装
    [JS]jQuery,javascript获得网页的高度和宽度
    去除表单自动填充时,-webkit浏览器默认给文本框加的黄色背景
    读罢泪两行,人生成长必须面对的10个残酷事实
    前端开发面试题JS2
    前端开发面试题JS
    是内耗让你活得特别累
  • 原文地址:https://www.cnblogs.com/niuniu502/p/1760989.html
Copyright © 2011-2022 走看看