`
dikatour
  • 浏览: 1712 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类

搭建《虚拟机的设计与实现:c/c++》中的HEC虚拟机的调试环境

阅读更多
  在阅读编程书籍的时候,如果能边看书边对着机器操作,那么效果会非常好,刚才在看Bill Blunden的《Virtual Machine Design and Implemetation in  C/C++》(中文翻译书名叫做《虚拟机的设计与实现:c/c++》)的第三章,作者从main函数入手,将虚拟机的执行流程娓娓道来。如果能边调试那段代码边看书,这样效果会很不错。因此打开随书的源码的目录,进入win32\hecvm目录(这里是vm的源代码),打开hecvm.mak进行分析(内容如下):
#  /Fefilename  sets the name of the executable
#  /Idirectory    sets a single include directory
#  /link sets linker options to include extra libraries
#  /Ddefine defines a macro

OPTIONS=/nologo /FeHECVM.EXE /I.\ /DWINDOWS_32 
LINK_OPTIONS=/link /DEFAULTLIB:ws2_32.lib

HECVM.EXE:
CL.EXE $(OPTIONS) main.c $(LINK_OPTIONS)

虽然从来没用过nmake,不过这段make脚本非常简单(作者的注释也非常仔细),直接看最后一行,调用cl.exe编译main.c,参数为
/nologo /Fe /I /D, 查查msdn,马上就知道,需要包含当前目录(/I.\), 需要定义一个预处理定义WINDOWS_32(/D WINDOWS_32),
然后进行link操作,需要包含库ws2_32.lib,因此,打开vs2005,创建一个空项目,将hecvm里的代码全部都拷贝到空项目的vcproj文件所在
的那个目录下去,然后把main.c加入到空项目中,设置项目属性(包含当前目录,增加预处理定义WINDOWS_32, 链接选择附加ws2_32.lib),生成
改项目,成功了!

可以调试了!

分享到:
评论
1 楼 zybhaoren 2008-10-24  
说的再详细一点好不好啊?

相关推荐

    虚拟机的设计与实现 C/C++

    所以在计算机领域有着坚实、严谨的理论基础,他从自己的实践出发,采用了数学中的SOP方法(命题一证明一示例),深入浅出地论述了《虚拟机的设计与实现——C/C++》的三大部分:概述、HEC虚拟机、HEC汇编语言,对...

    虚拟机的设计与实现C-C++

    《虚拟机的设计与实现:C\C++》内容简介描述了如何通过一系简单的步骤实现一个具有实用价值的运行时系统。对以下技术进行了深入的讨论:内存管理技术、TCP/IP连网技术,虚拟机与宿主代码的接口技术。总而言之,能在一...

    HECRAS模型,里面包含了讲义,ppt课件和模型安装包

    HEC-RAS目前支持一维/二维水动力模型,一维动床输沙模型,一维水质模型,还具备耦合水工建筑物(坝,堤,堰,涵管,桥梁等)...HEC-RAS在水利设计,溃坝评估,洪泛区评估,桥梁涉水设计,泵站调度等方面具有广泛的应用

    虚拟机设计 HEC C语言

    HEC虚拟机设计 pdg+chm+source+pdg reader

    HEC-RAS3.1中文用户手册

    HEC-RAS 河流分析系统(V3.1)中文手册...第十一章 HEC-RAS检测调试 第十二章 桥梁冲刷计算 第十三章 河槽演变模拟 第十四章 HEC-RAS使用GIS数据 第十五章 稳定河槽设计功能 第十六章 非恒定流演算的高级功能 附录 附图

    可在VC6.0下编译的HEC虚拟机源代码工程

    --其它目录实现调试器、汇编器等功能 2、工程构建过程; (1)创建Windows console 32应用程序; (2)创建.set文件,写入搜索路径,再修改.dsp文件; (3)在projec->settings->link->Object/library modules中填...

    虚拟机设计实现-HEC-配书原代码

    《虚拟机设计实现》,配套原代码。 可参考看看。

    虚拟机的设计与实现

    《虚拟机的设计与实现:CC++》内容简介描述了如何通过一系简单的步骤实现一个具有实用价值的运行时系统。对以下技术进行了深入的讨论:内存管理技术、TCP/IP连网技术,虚拟机与宿主代码的接口技术。总而言之,能在一...

    HEC-GeoHMS操作过程详解(后续继续更新).docx

    暂时仅包括1.Arcgis准备、2.水系分析、3.工程创建、4.流域处理、5.河流和子流域特征 这五块内容,后续更新

    arcview绿色免安装含水文空间3d分析插件版之3(共三个文件)

    hec-geohms 1.1(免费水文分析插件(汇水线分析),英文说明书下载地址:http://www.hec.usace.army.mil/software/hec-geohms/documentation/HEC-GeoHMS11.pdf ) jpg image support(支持输出jpg格式文件的插件) ...

    arcview绿色免安装含水文空间3d分析插件版之2(共三个文件)

    hec-geohms 1.1(免费水文分析插件(汇水线分析),英文说明书下载地址:http://www.hec.usace.army.mil/software/hec-geohms/documentation/HEC-GeoHMS11.pdf ) jpg image support(支持输出jpg格式文件的插件) ...

    HECRAS实例操作

    本指南主要介绍使用HEC‐GeoRAS对HEC‐RAS前处理与后处理成果。使用者好熟悉HEC‐RAS 和 ArcGIS。如果想知道 HEC‐GeoRAS 的细节请参见用户手册。 电脑要求 在 WINDOWS 平台下使用,包括: 1. ARCGIS9.3 2. HEC...

    水利设计软件-中文手册-HEC-RAS中文说明.docx

    水利设计软件-中文手册-HEC-RAS中文说明.docx

    Python库 | Splunk-HEC-1.10.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:Splunk-HEC-1.10.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | Splunk-HEC-1.11.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:Splunk-HEC-1.11.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    routing:用Go编写的nav-e的路由服务器

    routing -导航路由服务器项目 Nav-e是一个开源路由项目,专注于能源优化。 这是的后端。 用Go编写的nav-e的路由服务器 .../search/:name :name必须是字符串 GET: http://localhost:8080/search/Hec 响应:

    hec mambo contribs-开源

    易于使用的完全参数化模板-模块:修改后的新闻快讯,幻灯片和图形菜单-德语非正式lang-pack-曼波补丁-已在4.6.5上测试,但应从4.6.2开始运行,请参见http:// www .hec.co.at的详细说明

    MDVRP 多车场的车辆路由问题研究

    I simulated an MDVRP paper which is A tabu search heuristic for periodic and multi-depot vehicle routing problems Please refer to the website for the meaning of data sources ...in the article the code ...

    详解虚拟机技术中的内存管理TCPIP连网接口等技术.zip

    内容简介:本文描述了如何通过一系简单的...对以下技术进行了深入的讨论:内存管理技术、TCP/IP连网技术,虚拟机与宿主代码的接口技术。总而言之,能在一个商业化运行时系统里找到的技术都在HEC虚拟机系统里有所体现。

Global site tag (gtag.js) - Google Analytics