社区
C语言
帖子详情
用TC在DOS下编程如何实现多任务
xuyufeng
2000-06-14 05:26:00
我编一个内存驻留程序要求在此程序运行的同时不影响另一个程序的运行,请问各位高手
应如何实现?THANK YOU VERY MUCH!
...全文
261
8
打赏
收藏
用TC在DOS下编程如何实现多任务
我编一个内存驻留程序要求在此程序运行的同时不影响另一个程序的运行,请问各位高手 应如何实现?THANK YOU VERY MUCH!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
acqy
2001-06-02
打赏
举报
回复
使用内存驻留程序。
您可以参阅我写的文章《系统级C语言程序设计》,在本站的“开发文档”栏目中搜索文章标题即可。
sxbyl
2001-06-02
打赏
举报
回复
看你要干什么事了,如果不复杂的话,干脆用汇编吧,C编译出来的驻留程序大了些。
风中老长
2001-06-02
打赏
举报
回复
最简单的就是中断
skt642
2001-05-31
打赏
举报
回复
68906关注!
Tang_Lan
2000-07-03
打赏
举报
回复
用 TSR 驻留程序可以实现模拟的多任务。像 FPE(整个专家)那样的。
真正的多任务(实际上是多进程)只能在保护模式下实现,而且 TC 并不适合
作这些事。可以试试 WATCOM C/C++。不过有必要吗?除非你想自己写一个OS。
flyingknight
2000-07-03
打赏
举报
回复
你怎么不用dos protected mode program? 比如说dos4gw,能实现真正的多任务!
ad
2000-06-14
打赏
举报
回复
1、你要接管时钟中断或/和键盘中断;
2、计算程序驻留时需要的内存量;
3、程序数据段加代码段不能超过64K,不能有栈;
4、由于TSR被激活时处于DOS中断,所以不能再调用DOS中断;
5、每个执行步骤尽可能迅速。
halfdream
2000-06-14
打赏
举报
回复
在DOS下可以用TSR来实现类似多任务,不过写TSR的程序限制很多。
可以截获时钟中断激活,执行后交出控制权。
并不能成为真正的多任务。有些东西不是几句话就可以说完的。
你可以找一些资料自己尝试一下,呵呵祝贺你,
你将无数次的面临死机加头痛。
Tc
l_TK
编程
权威指南pdf
Tc
l_TK
编程
权威指南pdf 内容简介回到顶部↑
Tc
l/Tk是第一种能通过Windows、Macintosh和Solaris等主要平台处理企业级
任务
的脚本语言。本书共分为55章,依次详细讲述了
Tc
l基础、
Tc
l高级特性、TK基础、TK组件、TK详解、C语言
编程
、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了
Tc
l/Tk
编程
,是读者掌握
Tc
l/Tt的必备参考书。 本书适合各个层次的读者阅读。 目录回到顶部↑第1部分
tc
l基础 第1章
tc
l的基本知识
tc
l命令 hello,world! 变量 命令替换 数学表达式 反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的
tc
l脚本程序 .windows 95的开始菜单 macintosh与resedit console命令 命令行变元 预定义变量 第3章 cgi应用程序--顾客留言簿 html简介 使用cgi创建动态页面 guestbook.cgi脚本程序 定义表单以及处理表单数据 cgi.
tc
l软件包 接下去的几步 第4章
tc
l中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章
tc
l列表
tc
l列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 相关章节 第6章 控制结构命令 if then else swi
tc
h while foreach for break与continue ca
tc
h error return 第7章 过程与作用域 proc命令 使用rename来改变命令名 作用域 global命令 通过upvar以名字进行调用 使用upvar来处理变量别名 第8章
tc
l数组 数组的语法 array命令 使用数组来构建数据结构 第9章 对文件和程序的操作 使用exec运行程序 file命令 跨平台的文件命名方式 操作文件和目录 文件属性 对i/o命令的总结 打开文件用于i/o操作 读写操作 当前目录-cd和pwd 使用glob来匹配文件名 exit和pid命令 环境变量 registry命令 第2部分
tc
l高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级正则表达式(are) 语法总结 regexp命令 rgsub命令 使用regsub将数据转换为程序 其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件
tc
lindex的库 unknown命令 方便交互
tc
lshell的库环境 编码风格 第13章 反射与调试 clock命令 info命令 跨平台支持 跟踪变量的值 交互式命令历史记录 调试 scriptics的
tc
lpro 其他工具 性能调校 第14章 名字空间 使用名字空间 名字空间变量 命令查找 嵌套名字空间 过程的进口与输出 回调与名字空间 内省(introspection) namespace命令 转换现有的软件包以使用名字空间 [incr
tc
l]对象系统 注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的
编程
tc
l事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字
编程
客户端套接字 服务器端套接字 回送(echo)服务 使用http获取一个url http软件包 基本认证 第18章
tc
lhttpd web服务器 将
tc
lhttpd与你的应用程序集成 域处理程序 应用执导的url 文档类型 html+
tc
l模板 表单处理程序
编程
参考 标准应用执导(application-dirct)的url
tc
lhttpd发行版 服务器配置 第19章 多解释器与 safe-
tc
l interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器中执行i/o操作 安全基础 安全策略 第20章 safe-tk与浏览器插件 子解释器中的tk 浏览器插件 安全策略与浏览器插件 配置安全策略 第3部分 tk基础 第21章 tk的基本知识 th中的hello,world! tk组件的命名 配置tk组件 tk组件属性与资源数据库 tk命令概要 第22章 tk实例解析 execlog example browser
tc
l shell 第23章 打包摆放布局管理器(pack) 朝一侧摆放 水平与垂直难叠 空腔模型( cavity model) 打包摆放空间(packing space)与显w空间(display space) 尺寸调整与一expand 挂靠 摆放顺序 选择用于摆放的父组件 取消一个组件的摆放 打包器总结 窗口的堆叠顺序 第24章 栅格摆放布局管理器( grid) 一种基本栅格 跨行列摆放 行列约束 grid命令 第25 章定位摆放布局管理器( place) place的基础知识 面板管理器 place命令 第26章 将命令与事件编联 bind命令 bindtags命令 事件的语法 修饰符 事件序列 虚拟事件 事件关键词 第4部分 tk组件 第27章 按钮与菜单 按钮命令与作用域问题 与
tc
l变量关联的按钮 按钮属性 按钮操作 菜单和菜单按钮 键盘遍历 操纵菜单和菜单条目 菜单属性 通过名字来指定菜单的软件包 第28章 资源数据库 有关资源的介绍 加载选项数据库 添加单一的数据库条目 存取数据库 用户定义的按钮 用户定义的菜单 第29章 简单的tk组件 框架组件与顶层窗口 标签组件 消息组件 标尺组件 bell命令 第30章 滚动条 使用滚动条 滚动条协议 滚动条组件 第31章 输入条组件 使用输入条组件 输入条组件 第32章 列表框组件 使用列表框组件 列表框组件的编联 列表框组件的属性 第33章 文本组件 文本索引 文本标记 文本标签 文本信息的选择( selection) 标签的编联 文本搜索 嵌入组件 图片的嵌入 查看文本组件的内部信息 文本组件的编联 文本组件的操作 文本组件的属性 第34章 画布组件 画布坐标 hello, world! 最小和最大标尺的例子 画布对象 画布组件的操作 产生postscript输出 画布组件的属性 建议 第5部分 tk详解 第35章 选择和剪贴板 选择模型 selection命令 clipboard命令 选择处理程序 第36章 焦点、焦点的捕获和对话框 标准对话框 定制对话框 使用update命令
实现
动画 第37章 tk组件的属性 配置属性 尺寸 边界与浮雕效果 焦点的高亮显示 补自(padding)与挂靠(anchor) 第38章 颜色、图片和鼠标指针 颜色 色彩映射与视频种类 位图和图片 文本插入光标 鼠标指针 第39章 字体与文本属性 字体命名 x字体名 字模 font命令 文本属性 栅格化、尺寸调整和布局 一个字体选择应用程序 第40章 send send命令 发送者脚本 通信进程 通过套接字来
实现
远程eval 第41章 窗口管理器与窗口信息 win命令 winfo命令 tk命令 第42章 管理用户首选项 应用默认设置文件 定义首选项 首选项的用户界面 管理首选项文件 跟踪对首选项变量的修改 对该软件包的改进 第43章 一种操作编联的用户界面 一对协调工作的列表框 编辑界面 保存与加载编联 第6部分 c语言
编程
第44章 c语言
编程
与
tc
l 基本概念 创建可加载软件包 一个用c语言
实现
的命令过程 blob命令的例于 字符串与国际化 tolmain和
tc
l-applnit tk_main 事件循环 从c中调用脚本 第45章 编译
tc
i及扩展模块 标准目录结构 从源代码建立
tc
i 使用占位函数库(stub library) 使用autoconf 扩展模块范例 makefile.in 第46章 使用c语言编写tk组件 初始化扩展模块 组件的数据结构 组件的类命令 组件实例命令 配置和重新配置属性 指定组件属性 时钟的显示 窗口事件过程 最后的清除工作 第47章 c函数库概览
tc
lc函数库概览 tk c函数库概览 第7部分 各版本之间的差异 第48章
tc
l 7.4/tk 4.0 wish 过时废弃的功能 cgct操作 输入焦点的高亮显示 编联 滚动条接日 pack info 焦点 send命令 按钮的内部补白 单选按钮的值 输入条组件 菜单 列表框 没有了geometry属性 文本组件 颜色属性 颜色分配与tk colormodel 画布组件的scrollincrement 选择 bell命令 第49章
tc
l 7.5/tk 4.1 跨平台脚本 clock命令 load命令 package命令 多个foreach循环变量 事件循环从tk转移到了
tc
l 网络套接字 多解释器与safe-
tc
l grid布局管理器 文本组件 输入条组件 第50章
tc
l7.6/tk 4.2 更多的file操作 虚拟事件 标准对话框 新的grid布局管理器 macintosh的unsupportedl命令 第51章
tc
l/tk 8.0
tc
l编译器 名字空间 safe-
tc
l 新的lsort
tc
l_precision变量 2000年约定 http软件包 串行线i/o 独立于平台的字体 tk scaling命令 应用程序的嵌入 本地化菜单与菜单条 cde的边界宽度 本地化的按钮和滚动条 文本组件中的图片 destroy不再产生错误 grid rowconfigure 补丁版本 第52章
tc
l/tk 8.1 unicode与国际化 线程安全 高级正则表达式 新字符串命令 dde扩展模块 杂类 第53章
tc
l/tk 8.2 trf补丁 更快的字符串操作 空数组名 浏览器插件的兼容性 第54章
tc
l/tk 8.3 关于
tc
l的修改建议 关于tk的改动建议 第55章 有关本书的cd-rom ↓展开全部内容 序言回到顶部↑
Tc
l为工具命令语言(Tool Command Language)的缩写。它其实是指两样东西:一种脚本语言,以及该脚本语言的解释器。该解释器可以很容易地嵌入到你的应用程序中。
Tc
l和与之关联的图形用户界面工具包(Tk)是由加州大学的John Ousterhout教授设计并编写的。尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。
Tc
l解释器已经从Unix平台移植到了
DOS
、Windows、OS/2、NT以及Macintosh环境中,而TK工具包也从X window系统移植到了Windows和Macintosh环境中。 1988年,当我在Berkeley做ousterhout教授的博士生时,第一次听说了
Tc
l。我们当时正在设计一种名为Sprite的网络操作系统。同学们在努力编制一个新式的内核程序,而John编写了一个新的编辑器和终端仿真程序。他使用
Tc
l作为这两种工具的命令语言,这样用户就可以定义菜单或者对那些程序进行定制。那时还处在使用X10的时代,他计划编写一个基于
Tc
l的X工具包,以使程序之间通过
Tc
l命令进行通信,彼此相互协作。对我来说,这种工具之间的相互协作就是
Tc
l的实质。 这种早期的设想就是让应用程序由包含编译代码的大块实体和一小部分用于进行配置和编写高级命令的
Tc
l代码组成。John的编辑器皿,还有终端仿真程序tx就遵循了这种模式。虽然这种模式仍然是有效的,但结果表明用
Tc
l来编写整个应用程序也是可能的。这是因为
Tc
l/Tk的shell程序wish提供了对其他程序、文件系统和网络套接字的存取功能,同时还能够创建图形用户界面。不管怎样,现在发现包含几千行
Tc
l脚本的应用程序并不稀奇。 我编写这本书的原因就是,虽然自己觉得使用
Tc
l与Tk既有乐趣又高效,但是也有令人头痛的时候。此外,在Xerox PARC工作,那里有许多语言和系统上的专家,我不得不强迫自己去理解
Tc
l/Tk的长处和弱点。我的许多同事都在他们的项目中采用了
Tc
l和Tk,但是他们也很快指出了它的缺点。因此,我就总结了一套
编程
技巧以充分利用
Tc
l/Tk的强大功能,同时回避一些棘手的问题。这本书就是一本帮助你最大限度地利用
Tc
l/Tk并回避一些我所经历过的令人头痛的问题的实用
编程
指南。 我接触
Tc
l语言大概已经有10年的时间了,而本书的第一版也已经出版5年了。在过去的几年中,我一直在John Ousterhout的手下工作,最初是在Sun微系统公司,而现在是在Scriptics公司。我一直使自己在很大程度上保持着一个
Tc
l程序员的角色,而我们工作组中的其他人员则埋头于
Tc
l本身的C语言
实现
。我创建的应用程序有HTML编辑器、EMAIL比用户接口程序、Web服务器以及用户数据库,我们的商务应用就建立在它们的基础上。这些经历在本书中有所反映。本书的大部分内容是有关
Tc
l脚本
编程
的,而有关使用C语言来创建
Tc
l扩展模块的内容没有着重讲述。我有幸一直参与
Tc
l核心技术的开发活动,希望通过本书能够将自己使用
Tc
l时获得的切身体会表达出来。 为什么要使用
Tc
l 作为一种脚本语言,
Tc
l与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可
编程
特性(变量、流程控制和过程),使你可以将现有程序组装成符合自己需要的复杂的脚本程序。Shell程序非常适用于一些日常
任务
的自动化处理工作。
Tc
l解释器可以很容易地添加到你的应用程序中,这种能力将它与其他的shell语言区分开来。
Tc
l扮演了一种扩展语言的角色,用来配置和定制应用程序。你没有必要再去为自己的新应用程序发明一种命令语言,或是费力为自己的工具提供某种用户可
编程
特性。其实,你可以通过添加一个
Tc
l解释器,来将自己的应用程序组织成一组操作原语,并使用这些原语来构造最符合用户需求的脚本程序。这样还可以允许其他的程序通过
编程
来控制你的应用程序,以使套装应用程序能够很好地在一起工作。
Tc
l的C函数库拥有清晰的接口而且便于使用。该函数库
实现
了基本的解释器,它有一套
实现
变量、流程控制和过程的核心脚本命令,而且还有一组用来存取操作系统服务以运行其他程序、存取文件系统和使用网络套接字的命令。
Tc
l和Tk提供了一台可以在UNIX、Windows和Macintosh环境中可移植的"虚拟机"。 因为你的应用程序可以定义新的
Tc
l命令,所以
Tc
l虚拟机是可扩展的。这些命令与你的应用程序所提供的C或C++过程关联。结果应用程序就分割成一组用编译语言编写的原语,并输出成为相应的
Tc
l命令。使用
Tc
l脚本程序可以将这些原语组装成完整的应用程序。脚本语言层可以存取与shell类似的功能以运行其他的程序,可以存取文件系统,还可以直接通过自己定义的
Tc
l命令来调用应用程序中编译的代码部分。此外,从C
编程
的层面上来说,你还可以调用
Tc
l脚本程序、设置和询问
Tc
l变量,甚至跟踪
Tc
l解释器的执行。 在Internet上有许多可自由使用的
Tc
l扩展模块。许多扩展模块都包含了一个提供某种新功能的C函数库,以及该函数库的
Tc
l接口。这样的例子包括数据库存取、电话控制、MIDI控制器存取,还有expect,它为控制交互式程序增加了一组
Tc
l命令。 最为著名的扩展模块就是Tk,这是一种图形用户界面工具包。Tk定义了用来创建和操作用户界面组件的
Tc
l命令。这种基于脚本的用户界面
编程
方法有三个好处: . 由于快速的响应周期,所以开发迅速,不存在漫长的编译等待过程。 .
Tc
l命令提供了一种比绝大多数由标准C函数库
实现
的用户界面工具包更为高级的接口。它只需一小组命令就可以定义简单的用户界面,同时又可以对用户界面进行细化以恰当地
实现
每一个细节。快速的响应周期又为这种细化过程提供了帮助。 用户界面处理可以从你的应用程序的其余部分分离出来。因而开发人员能够专心致志地
实现
应用程序的核心部分,然后再颇为轻松地构建出用户界面。Tk组件的核心功能通常能够满足你所有的用户界面需求。不过,你还可以用C语言来编写定制的Tk组件,而且网上还有许多大家提供的Tk组件可以使用。 还有其他可以用做扩展语言的选择,这包括VisualBasic、Scheme、Elisp、Perl;Python和Javascript等,你可以依照个人喜好从中进行选择。
Tc
l拥有简单的结构,而且还有些地方类似于C语言,可以通过编制C过程来增添新的
Tc
l原语。
Tc
l非常易学,许多有关用户使用
Tc
l在很短的时间内(例如几个星期)就完成了相当难度的项目,并且他们以前压根就没有接触过
Tc
l。 当本书第一次出版时,Java轰动了计算机界。Java是一种极为优秀的系统
编程
语言,长远来看还有可能代替C和C什语言。这对
Tc
l来说挺好,它在设计时就被用来将由任意系统
编程
语言编写的构件粘连起来。
Tc
l过去被设计与C语言一起工作,但是现在已经被改造成能够与Java虚拟机一起工作。在我们提到"C或C++"的地方,现在也可以说"C、C++或Java"了,但是对于Java来说,其细节上还多少存在些差异。这本书并没有描述
Tc
VJava接口,但是你可以在CD-ROM上找到
Tc
lBlend。
Tc
lBlend将Java虚拟机加载到你的
Tc
3应用程序中并允许你调用Java方法,它还可以让你使用Java而不是C或C十十来
实现
Tc
l命令。 Javascript是一种来自于Netscape的语言,它被设计用来编写与w曲页面进行交互的脚本程序。由于Netscape的广泛使用,Javascript就显得很重要,然而
Tc
l提供了一种更为通用的脚本方案,可以在更为广泛的范围中使用。
Tc
l/Tk的Web浏览器插件提供了一种在浏览器中运行
Tc
l的方式,结果使得
Tc
l更像是一种Java的替代品而不是Javascript的替代品。该插件可以让你在浏览器中执行
Tc
l应用程序,而Javascript则为你提供了对浏览器和HTML显示的精细控制。这种插件将在第20章有所描述。
Tc
I与Tk的版本
Tc
l与Tk仍在继续演变。请参看http://www.beedub.com/book/来了解有关最新的
Tc
l版本的更新和消息。由于历史原因,
Tc
l与Tk曾各有各的版本号,但是它们成对发行,并一起工作。这本书的原始版本基于
Tc
l7.4和Tk 4.0并有几处引用了Tk 3.6的功能。第三版已经进行了更新,它反映了直到
Tc
l/Tk8.2以来所增添的各种新特性: .
Tc
l7.5和Tk 4.1的最终发布在1996年5月。这些版本的特点是将Tk移植到了Windows和Macintosh环境。它引入了Safe-
Tc
l安全机制,以支持网络小应用程序(Applet)的 .安全执行。它还提供了对网络套接字的支持以及一种新的输入输出(I/O)子系统,以支持高性 能的事件驱动I/O。 .
Tc
l7.6和Tk4.2的最终发布是在1996年的10月。这些版本包含了对S池-
Tc
l的改进,以及对在Tk 4.1中引进的grid布局管理器的改进。跨平台的支持包括虚拟事件(例如,以<<Copy>>宋代表<Control-c>=、标准对话框,还有更多的文件操作命令。 .
Tc
l 7.7和Tk 4.3是内部版本,用于开发NetscapeNavigator和MicrosoftInternetExplorer Web浏览器的
Tc
l/Tk插件。它们的开发工作实际上与
Tc
l7.6和Tk 4.2并行进行。
Tc
l/Tt插件已经发布了许多各种平台上的版本,其中包括Solaris/SPARC、Solaris/INTEL、SunOS、Linux、Digital UNIX、IRIX、HP/UX、Windows95、Windows NT以及Macintosh。该浏览器插件支持Web页面中的
Tc
l小应用程序(Applet),同时使用Safe-
Tc
l复杂的安全机制来提供安全保证。 .
Tc
l8.0为
Tc
l新增了一个运行时用的编译器,这个编译器提供了数倍于
Tc
l脚本的执行速度。
Tc
l8.0支持内嵌空字符的字符串。编译器对脚本来说是透明的,但是扩展模块编写入员需要学习一些新的C API才能发挥它的潜力。由于John Ousterhout从Sun微系统公司到了Scriptics公司,发布8.0版的时间推迟了几年。广泛使用的版本8.0p2是在1997年完成的,但是最终的补丁版本8.0.5直到1999年春才发布。 . 在8.0时,Tk更改了版本号以与
Tc
l相匹配。Tk 8.0包含了一种新的独立于平台的字体机制,它还包含了本地化菜单和菜单条,以及更多的本地化组件,它们在Windows和Macintosh上拥有更好的本地化外观。
Tc
l/Tk8.1新特性主要包括对Unicode的完整支持,以及线程安全,这样你就可以将
Tc
l嵌入到多线程的应用程序中。Unicode是一种新的正则表达式引擎,它提供了在Perl5中所能找到的所有功能。Tk为找到正确的用于显示Unicode字符的字体完成了卓越的工作,它还增加了一种信息目录设施,这样你就可以编写国际化的应用程序。
Tc
ylk 8.1的发布史中还包括了Sun到Scriptics的过渡。第一个alpha版本完成于1997年秋,而最终的补丁版本完成于1999年5月。
Tc
l/Tk 8.2主要是一个进行bug修正和稳固化的版本。它对
Tc
lC函数库API进行了几处微小增补,这样无须核心补丁程序也能支持更多的扩展模块。
Tc
l/Tk 8.2很快在1999年夏进入最终版本。 谁应当阅读本书 本书不仅适用于熟练的
编程
人员,同样也适用于初学者。对于初学者和熟练
编程
人员来说,我建议大家仔细学习一下策1章"
Tc
l的基本知识"。
Tc
l的
编程
模型被设计成一种简单的模式,它与许多
编程
语言存在差异。该模型基于字符串替换,你对这一点的正确理解很重要,这样才能避免在复杂情况下遇到麻烦。这本书的其余部分则包含了演示如何高效地使用
Tc
l与Tt的例子。每一章中都有对其中所描述的
Tc
l命令和Tk组件进行总结的表格,以供参考。 本书假定你有一些
编程
经验,但是你如果是个彻头彻尾的新手也能够读下去。对Unix shell的了解将会对你有所帮助,但这并不是必须的。在那些涉及Windows系统的地方,我会提供一些背景信息。第2章详细描述了在UNIX、Windows和Macintosh上使用
Tc
l与Tk的内容。 如何阅读本书 本书最好能在上机实习中使用,可以在计算机上尝试一下书中的例子。
Tc
l与Tk的命令手册尽管完整但却缺少上下文的的相关信息和例子,本书就试图填补在简明手册与现有的文档化或没有很好文档化的
Tc
l程序之间的空隙。 我推荐使用联机手册来查阅有关的
Tc
l/Tk命令。它为每个命令都提供了详细的参考指南,但是它没能提供完整的细节,这在每一次发布的版本中都有所不同。HTML版本的联机手册可以在随书的CD-ROM中找到。
华为
编程
开发规范与案例
软件
编程
规范培训实例与练习 软件
编程
规范培训实例与练习 问题分类 1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常
实现
等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和环境、其他函数、全局/局部变量或数据变量之间的数据/控制传输不匹配的问题,在系统中起重要作用,将导致模块间配合失效等严重问题; 维护类问题(C类)-指设计、编码中出现的对软件系统的维护方便程度造成影响的问题,在系统中不起关键作用,但对系统后期维护造成不便或导致维护费用上升; 可测试性问题(D类)-指设计、编码中因考虑不周而导致后期系统可测试性差的问题。 处罚办法 问题发生率: P=D/S D=DA+0.5DB+0.25DC 其中: P -问题发生率 D -1个季度内错误总数 DA -1个季度内A类错误总数 DB -1个季度内B类错误总数 DC -1个季度内C类错误总数 S -1个季度内收到问题报告单总数 1)当D≥3时,如果P≥3%,将进行警告处理,并予以公告; 2)当D≥5时,如果P≥5%,将进行罚款处理,并予以公告。 目 录 一、逻辑类代码问题 第5页 1、变量/指针在使用前就必须初始化 第5页 【案例1.1.1】 第5页 2、防止指针/数组操作越界 第5页 【案例1.2.1】 第5页 【案例1.2.2】 第6页 【案例1.2.3】 第7页 【案例1.2.4】 第8页 3、避免指针的非法引用 第9页 【案例1.3.1】 第9页 4、变量类型定义错误 第10页 【案例1.4.1】 第10页 5、正确使用逻辑与&&、屏蔽&操作符 第17页 【案例1.5.1】 第17页 6、注意数据类型的匹配 第18页 【案例1.6.1】 第18页 【案例1.6.2】 第18页 7、用于控制条件转移的表达式及取值范围是否书写正确 第20页 【案例1.7.1】 第20页 【案例1.7.2】 第21页 【案例1.7.3】 第22页 8、条件分支处理是否有遗漏 第24页 【案例1.8.1】 第24页 9、引用已释放的资源 第26页 【案例1.9.1】 第26页 10、分配资源是否已正确释放 第28页 【案例1.10.1】 第28页 【案例1.10.2】 第29页 【案例1.10.3】 第30页 【案例1.10.4】 第32页 【案例1.10.5】 第33页 【案例1.10.6】 第35页 【案例1.10.7】 第38页 11、防止资源的重复释放 第39页 【案例1.11.1】 第39页 12、公共资源的互斥性和竞用性 第40页 【案例1.12.1】 第40页 【案例1.12.2】 第40页 二、接口类代码问题 第43页 1、对函数参数进行有效性检查 第43页 【案例2.1.1】 第43页 【案例2.1.2】 第43页 【案例2.1.3】 第44页 【案例2.1.4】 第46页 【案例2.1.5】 第47页 【案例2.1.6】 第48页 2、注意多出口函数的处理 第49页 【案例2.2.1】 第49页 三、维护类代码问题 第51页 1、 统一枚举类型的使用 第51页 【案例3.1.1】 第51页 2、 注释量至少占代码总量的20% 第51页 【案例3.2.1】对XXX产品BAM某版本部分代码注释量的统计 第51页 四、产品兼容性问题 第52页 1、系统配置、命令方式 第52页 【案例4.1.1】 第52页 【案例4.1.2】 第53页 2、设备对接 第54页 【案例4.2.1】 第54页 3、其他 第55页 【案例4.3.1】 第55页 五、版本控制问题 第58页 1、新老代码中同一全局变量不一致 第58页 【案例5.1.1】 第58页 六、可测试性代码问题 第59页 1、调试信息/打印信息的正确性 第59页 【案例6.1.1】 第59页 一、逻辑类代码问题 1、变量/指针在使用前就必须初始化 【案例1.1.1】 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用: ... ... _UC *puc_card_config_tab; ... ... Get_Config_Table(
DOS
下多
任务
系统的设计与
实现
(1995-7)
DOS
下多
任务
系统的设计与
实现
(1995-7)作者:wxzself一、引言: 将
DOS
扩展为多
任务
系统,在理论和实践中都有很重要的意义。但由于
DOS
系统单用户,单
任务
的设计局限,在
实现
中有不少难点。 本文提出一种
实现
方法及其具体设计。 现有的多
任务
DOS
系统,可以分为两类。 一类是在其它多
任务
系统(如OS/2、UNIX、WINDOWS NT等)的支持下的
DOS
多
任务
。在这类系统中,有着严格
高级
编程
技术--
tc
图形界面
高级
编程
技术介绍如何利用
TC
系统所提供的相关函数
实现
菜单设计、图形绘制、动画的播放、乐曲的演奏、汉字的显示、图片的显现等技术,在讲述时,以问题-解答的方式来逐渐阐明。1 文本的屏幕输出和键盘输入........................................................................................... 11.1 文本的屏幕
在c++程序中执行
DOS
命令
转自博客:http://blog.csdn.net/ypist/article/details/8485049 #1,system()方式 在C盘根目录下新建文件夹,名称为12: system("md c://12"); 执行时命令窗口会闪一下,看不到执行结果;
dos
自身提供了执行多条命令的功能,符号 && 代表同时执行多条命令。 如先切换到C下的12文件夹,然后执行dir
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章