zoukankan      html  css  js  c++  java
  • 王爽-汇编语言-综合研究一-搭建简易C环境

    (一) 学习过程:

    整个过程分为两个部分:

    第一:将TC2.0的环境使用虚拟软盘复制到DOS虚拟机中:

    打开WinImage,fileànew,由于TC2.0的环境解压后为2.02M,所以我们在Standard format中选择2.88M。

    clip_image002

    将TC文件夹放入。保存。

    clip_image004

    在DOS虚拟机中加载做好的软盘。这时A:内有TC2.0的所有文件了。

    clip_image006

    此处援引书中的话:

    我们在把一个程序拷贝的一个空的目录后,这个目录下只有这一个程序,然后我们运行它,它可以正确运行,我们就认为这个程序在运行中不需要别的文件。但是很可能它在运行中使用了别的文件,它不是在当前目录下,而是通过系统设置的搜索路径找到相关文件。

    而书中采取的解决办法是将所有文件拷贝到D: c2.0目录下。认为这个目录基本上不可能被TC2.0设置为相关文件的搜索目录。

    那放入A:中理论上与放入D:中效果相似。

    我的做法是先放在这里,假如A:被设置为了TC相关文件的搜索目录,那么在继续按书上步骤进行的时候一定会遇到不同。那时就可以验证这个目录是否被设置为了TC相关文件的搜索目录。这里我先当做A:与D: c2.0目录效果相同,带着这个问题继续向下走,求得验证。

    第二:研究查看tc编译链接必须用到的文件

    建立minic,将tc.exe拷贝到minic目录下。

    clip_image008

    运行tc.exe,清除tc工作路径。

    clip_image010

    编写程序simple.c

    clip_image012

    编译完成后,无错误信息,simple.obj可生成。

    clip_image014clip_image016

    继续链接时

    出现提示信息:“Unable to open input file‘c0s.obj’”

    clip_image018

    (由此处也可证明A:也非TC2.0相关文件的搜索目录)

    将c0s.obj拷贝到c:minic中;

    clip_image020

    再次编译出现提示信息:“Unable to open input file‘emu.lib’”

    (此处图片不在赘述)

    将emu.lib拷贝到c:minic中;

    再次编译出现提示信息:“Unable to open input file‘maths.lib’”

    将maths.lib拷贝到c:minic中;

    再次编译出现提示信息:“Unable to open input file‘graphics.lib’”

    将graphics.lib拷贝到c:minic中;

    再次编译出现提示信息:“Unable to open input file‘cs.lib’”

    将cs.lib拷贝到c:minic中

    再次编译成功,所有编译链接所需文件均找齐。

    clip_image022

    clip_image024

    (二) 思考到解决到的问题:

    编译链接所需文件,c0s.obj,emu.lib,maths.lib,graphics.lib,cs.lib
    TC的相关文件搜索范围:如果有设置的情况下,搜索设置路径。没有设置的情况下,搜索TC.EXE所在路径。

    TC环境中其他文件的作用(部分):include文件夹中是引用的头文件。TC根目录下.c文件是TC自带的例子。

    (三) 思考到没解决的问题:TC环境中众多.exe文件的作用。

    (四) 研究体会:我们看到的TC2.0编译环境,精简之后可以只剩有限的几个文件就可以实现基本功能。而其他的include文件等都可以省略。所以,我们看到的不一定是必须的。从另一个方面说,系统基本功能实现后,为了简单化和保证稳定性等或者其他方面考虑,我们应该要添加更多的内容进入系统。这样的系统才是完整的,稳定的,高效的。另外,文件与内存相似点在于,数据和控制信息或者可执行代码,本质都是二进制信息没有任何区别。区分他们在于CPU和程序编写者的使用方法。这是我想到的。

  • 相关阅读:
    rest_framework规范
    跨域问题
    网站部署(二)
    服务器更改密码后,git不能连接问题
    网站部署(一)
    Ajax
    AJAX基本使用
    Java之JNDI详解
    IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用
    数据库修改密码风险高,如何保证业务持续,这几种密码双活方案可以参考
  • 原文地址:https://www.cnblogs.com/shandianlongxiao/p/4025458.html
Copyright © 2011-2022 走看看