一、如何搭建一个精简的C语言开发环境

准备:下载TC2.0,并解压,比如说“d:\tc2.0\tc”目录

1、在C盘建立一个目录minic

c:\ md minic

2、从解压的目录中将以下文件拷贝到c:\minic中

其中TC.EXE是在d:\tc2.0\tc目录下,而COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB是在D:\tc2.0\tc\lib目录中的。

3、软件配置

  选择菜单项“Options”中的“Directories”选项,对TC的工作路径进行设置,将所有的路径都设置为“c:\minic”。然后用“Save options”选项保存设置。

  生成的配置文件

二、从中我们能学到什么

尝试去搭建一个最简的C语言开发环境,并不是说就让我们去用这个环境(我不建议)。毕竟功能齐备的集成开发环境能让我们的学习更有效率。但是,做这样的工作的意义还是有的,我认为有以下两点。

(1)认识到C语言开发环境的必备部分

(2)尝试了解我们应用程序的构成和执行过程(从库文件来看)

(3)了解C语言开发环境的输入输出目录(从“步骤3、软件配置”中来看)

  对于意义(1),从步骤2中很容易明白。对于意义(3),它让我们知道c程序的头文件目录、库文件目录以及工程文件输出目录都是可以设置的。但是,这在VC6.0这样现代化的集成开发环境中却不曾发现。

  意义(2)是做这个工作最重要的部分,到底我们的C程序是如何和库文件(.obj、.lib)结合生成可执行程序呢?又是如何执行程序呢?

1、程序连接过程

  首先,编译器将我们写的C程序编译成.obj文件。然后,连接器将这个.obj文件和系统库文件(.obj)连接到一起生成一个可执行程序。不管是连接哪一个程序,COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB这些库是必须的。

2、程序的执行过程

①c0s.obj里的程序先运行,进行相关的初始化。如申请资源,设置ds,ss等相关寄存器

②c0s.obj里的程序调用main函数,从此用户程序开始运行

③用户程序运行结束从main程序返回到c0s.obj的程序中

④c0s.obj的程序接着运行,进行相关的资源释放,环境恢复的工作

⑤c0s.obj的程序调用DOS的int 21h例程的4ch号中断功能,程序返回

附:

  c0s调用main函数的地址:  011ah

  main函数的连接地址:  01fah

参考资料:王爽汇编语言综合研究-不用main函数编程

     《汇编语言》322页 “研究实验4 不用main函数编程”

通过搭建一个精简的C语言开发环境了解一个C程序的执行过程的更多相关文章

  1. 研究实验1_搭建一个精简的C语言开发环境(包含部分经典的前言)

    综合研究:      在这部分内容中,将启示我们如何进行独立研究和深度思考(一定要注意这一点,相应的调整自己的学习思想).同时使我们:          (1)认识到汇编语言对于深入理解其他领域知识的 ...

  2. R 语言开发环境搭建

    R 语言在统计计算和画图方面有着显著的优势,因此在大数据领域也有其一席之地. 本文将演示怎样搭建R 语言开发环境. 搭建R 语言开发环境,主要有两个步骤: - 安装 R 到操作系统 - 安装支持 R ...

  3. 【Apache Pulsar】Apache Pulsar单机环境及Go语言开发环境搭建

    0x01 简介 Apache Pulsar是一个开源的分布式发布-订阅消息系统,与Kafka类似,但比后者更加强大.Pulsar最初由Yahoo开发并维护,目前已经成为Apache软件组织的一个孵化子 ...

  4. 从零开始搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  5. AbelSu教你搭建go语言开发环境

    go语言官网:https://golang.org/ windows:官网下载go1.6.windows-amd64.msi安装文件,安装位置选择默认C:\Go\安装结束后配置环境变量Path: C: ...

  6. SublimeText3搭建go语言开发环境(windows)

    SublimeText3搭建go语言开发环境(windows) 下载并解压:     Sublime Text Build 3021.zip注册:     尽量不要去破解    安装Package C ...

  7. 「C语言」在Windows平台搭建C语言开发环境的多种方式

    新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于  Windows 平台搭建C语言集成开发环境 ...

  8. 安装Go语言及搭建Go语言开发环境

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  9. Win7下搭建Go语言开发环境

    Win7下搭建Go语言开发环境 1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的L ...

随机推荐

  1. JDK JRE JVM

    使用java很久,但是一直不清楚JDK,JRE,JVM直接的关系,今天特地梳理一下. JDK:Java Development ToolKit(Java开发工具包),JDK是整个JAVA的核心,包括J ...

  2. (一)Eclipse 快捷键

    Ctrl+Alt+Down,即可以在下面快速复制一行 Ctrl+Alt+Up,即可以在上面快速复制一行.   1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了.这组快捷键 ...

  3. python实现应用程序在右键菜单中添加打开方式

    最近项目组开发的一个小工具想要在右键菜单中添加打开方式,以有道云笔记为例进行了需求拆解和代码编写 1.需求拆解: 如何实现手动添加右键菜单的打开方式: Step1:打开注册表编辑器,Win+R-> ...

  4. intelij idea

    tip of day关闭后可以在左上角的help中找到

  5. winform datagridview如何获取索引 分类: DataGridView 2014-04-11 13:42 216人阅读 评论(0) 收藏

    datagridview.CurrentCell.RowIndex;            是当前活动的单元格的行的索引 datagridview.SelectedRows  ;           ...

  6. android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法

    Android横竖屏幕切换时注意4.0以上配置configChanges要加上screenSize,要不还会调用onCreate(). <activity android:name=" ...

  7. iOS开发之支付宝集成

    项目中要用到支付功能,需要支付宝,微信,银联三大支付,所以打算总结一下,写两篇文章,方便以后的查阅, 大家在做的时候也能稍微参考下,用到的地方避免再次被坑.这是第二篇支付宝集成,第一篇银联支付在这里. ...

  8. 4 - SQL Server 2008 之 使用SQL语句删除表格

    使用删除表格的SQL命令与删除数据的命令一样,只是删除的是表格这个对象, 语法如下:DROP TABLE 表名 一般在删除表格之前,需判断这个表格存不存在,存在则删除,不存在则不进行执行任何代码. 代 ...

  9. iOS原生CIFilter创建二维码

    iOS原生CIFilter创建二维码 2016-05-31 未来C iOS原生CIFilter创建二维码 关于二维码生成,网上也是有很多,很早以前的第三方库大多数都是通过C++写,也是有的如zxing ...

  10. CSS3伪类nth-child结合transiton动画实现文字若影若现

    css3伪类nth-child结合transiton动画实现文字若影若现收先创建一个div盒子,然后包裹在div中的有10个span标签每个span标签填上内容一次为A,B,C,D,E,F,G,H,I ...