处理器虚拟化技术 邓志(终于找到完整!!)


这是邓学究^-^第二本书的源码,网上的大多不完整,浪费积分。我这份是新辛苦找到的。
资源截图
代码片段和文件信息
// merge.cpp : Defines the entry point for the console application.
//

#include “stdafx.h“
#include 
#include seTsd.h>
#include 
#include 
#include 


#define BUF_SIZE 512
#define MAX_LINE 250
#define MAX_CONFIG_LINE 30


typedef struct
{
TCHAR inFileName[MAX_PATH]; /* 输入文件名 */
DWORD inOffset; /* 输入文件偏移,以 512 字节为单位 */
TCHAR outFileName[MAX_PATH]; /* 输出文件名 */
DWORD outOffset; /* 输出文件偏移 以 512 字节为单位 */
DWORD nCount; /* 块数 */
//HANDLE hInFile; /* 输入文件 HANDLE */
//HANDLE hOutFile; /* 输出文件 HANDLE */
} MERGE_CONFIG *LPMERGE_CONFIG;


MERGE_CONFIG mergeConfig[MAX_CONFIG_LINE];
static DWORD mergeConfigIndex = 0;


static BOOL GetMergeConfig(LPTSTR lpLine);
static void PrintMergeConfigTable();
static VOID ReportError(LPCTSTR userMessage DWORD exitCode BOOL printErrorMessage);

int _tmain(int argc _TCHAR* argv[])
{
HANDLE hIn hOut;
FILE *fp;
errno_t err;
TCHAR chLine[MAX_LINE];
BYTE buf[BUF_SIZE];
DWORD i nIn nOut;
BOOL bSuccess = TRUE;
TCHAR msgError[100];

/* 打印作者信息 */
_tprintf(_T(“
“));

if (argc > 1)
{
ReportError(_T(“Usage: merge
“) 1 FALSE);
}

if ((err = _tfopen_s(&fp _T(“config.txt“) _T(“r“))) != 0)
{
ReportError(_T(“ “) 2 TRUE);
}


while (_fgetts(chLine BUF_SIZE fp))
{

if (!GetMergeConfig(chLine))
{
ReportError(_T(“Error: merge config please check the config.txt“) 3 FALSE);
}

}

for (i = 0; i < mergeConfigIndex; i++)
{
hIn = CreateFile(mergeConfig[i].inFileName GENERIC_READ FILE_SHARE_READ NULL OPEN_EXISTING FILE_ATTRIBUTE_NORMAL NULL);
if (hIn == INVALID_HANDLE_VALUE)
{
_stprintf_s(msgError 100 _T(“: %s“) mergeConfig[i].inFileName);
ReportError(msgError 4 TRUE);
}

hOut = CreateFile(mergeConfig[i].outFileName GENERIC_WRITE FILE_SHARE_READ NULL OPEN_EXISTING FILE_ATTRIBUTE_NORMAL NULL);
if (hOut == INVALID_HANDLE_VALUE)
{
_stprintf_s(msgError 100 _T(“: %s“) mergeConfig[i].outFileName);
ReportError(msgError 4 TRUE);
}

if (SetFilePointer(hIn mergeConfig[i].inOffset * 512 0 FILE_BEGIN) == INVALID_SET_FILE_POINTER)
ReportError(_T(“Error: move the input file pointer for read“) 5 TRUE);

if (SetFilePointer(hOut mergeConfig[i].outOffset * 512 0 FILE_BEGIN) == INVALID_SET_FILE_POINTER)
ReportError(_T(“Error: move the output file pointer for write“) 5 TRUE);

bSuccess = TRUE;

__try
{
while ((mergeConfig[i].nCount != 0) && ReadFile(hIn buf BUF_SIZE &nIn NULL) && (nIn > 0) && bSuccess)
{
if (!WriteFile(hOut buf nIn &nOut NULL))
{
//_tprintf(_T(“entry #%d: %s ---> %s: failure
“) i mergeConfig[i].inFileName mergeConfig[i].outFileName);
bSuccess = FALSE;
}

mergeConfig[i].nCount--;


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1232  2013-07-27 12:04  处理器虚拟化技术 邓志chap01ex1-1s

     文件       3060  2013-08-27 17:51  处理器虚拟化技术 邓志chap01ex1-1uild.bat

     文件    1032192  2013-10-11 22:26  处理器虚拟化技术 邓志chap01ex1-1c.img

     文件        399  2013-10-11 22:26  处理器虚拟化技术 邓志chap01ex1-1config.txt

     文件    1474560  2013-10-11 22:26  处理器虚拟化技术 邓志chap01ex1-1demo.img

     文件        740  2013-10-12 20:46  处理器虚拟化技术 邓志chap01ex1-1ex.asm

     文件       1232  2013-07-27 12:04  处理器虚拟化技术 邓志chap01ex1-2s

     文件       3060  2013-08-27 17:51  处理器虚拟化技术 邓志chap01ex1-2uild.bat

     文件    1032192  2013-10-12 20:55  处理器虚拟化技术 邓志chap01ex1-2c.img

     文件        391  2013-10-12 20:55  处理器虚拟化技术 邓志chap01ex1-2config.txt

     文件    1474560  2013-10-12 20:55  处理器虚拟化技术 邓志chap01ex1-2demo.img

     文件       1262  2013-10-13 00:51  处理器虚拟化技术 邓志chap01ex1-2ex.asm

     文件       1232  2013-07-27 12:04  处理器虚拟化技术 邓志chap02ex2-1s

     文件       3060  2013-08-27 17:51  处理器虚拟化技术 邓志chap02ex2-1uild.bat

     文件    1032192  2013-10-14 11:04  处理器虚拟化技术 邓志chap02ex2-1c.img

     文件        391  2013-10-14 11:04  处理器虚拟化技术 邓志chap02ex2-1config.txt

     文件    1474560  2013-10-14 11:04  处理器虚拟化技术 邓志chap02ex2-1demo.img

     文件       1588  2013-10-14 10:55  处理器虚拟化技术 邓志chap02ex2-1ex.asm

     文件       1232  2013-04-23 21:52  处理器虚拟化技术 邓志chap03ex3-1s

     文件       3060  2013-08-27 17:51  处理器虚拟化技术 邓志chap03ex3-1uild.bat

     文件    1032192  2013-10-18 00:28  处理器虚拟化技术 邓志chap03ex3-1c.img

     文件        391  2013-10-18 00:28  处理器虚拟化技术 邓志chap03ex3-1config.txt

     文件    1474560  2013-10-18 00:28  处理器虚拟化技术 邓志chap03ex3-1demo.img

     文件       8519  2013-10-21 17:21  处理器虚拟化技术 邓志chap03ex3-1ex.asm

     文件        767  2013-10-17 22:36  处理器虚拟化技术 邓志chap03ex3-1ex.inc

     文件       1232  2013-04-23 21:52  处理器虚拟化技术 邓志chap04ex4-1s

     文件       3060  2013-08-27 17:51  处理器虚拟化技术 邓志chap04ex4-1uild.bat

     文件    1032192  2013-10-21 09:38  处理器虚拟化技术 邓志chap04ex4-1c.img

     文件        391  2013-10-21 09:38  处理器虚拟化技术 邓志chap04ex4-1config.txt

     文件    1474560  2013-10-21 09:38  处理器虚拟化技术 邓志chap04ex4-1demo.img

............此处省略245个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)