在使用tc编写程序时,你或许对其中的*.lib文件产生疑问,这些lib文件有什么用途?
用C 语言编程时,通常要建立一些用户函数。如果这些函数具有通用性,一般的方法是将它们作成头文件,当需要时用“#include”命令将其包含到源程序之中,以提高编程效率。但在特定的程序中一般仅使用这些函数的一部分,若用上述方法包含所有函数,编译器在编译的时候会把所有包含进的函数都进行编译,这无疑会使源程序变得庞大而难于理解,并会影响执行效率。建立用户目标模块库(lib文件)可以解决这个问题,你可以事先把有特定功能的通用的子函数集编译完成后生成的obj文件打入lib文件,当链接器tlink.exe...
- [游客] 学习啦 02/23 10:43
- [younggay] 我的问题是:为什么会有这样的选择,什么时候会用到PAGE、WORD和BYTE呢? ======= 02/20 11:08
- [younggay] 路过,噢了。 02/20 10:49
- [mywiil] 句柄的本质是什么? ========== 句柄是用来指向资源对象的,本质应该类似于指针。 02/19 10:44
- [272003327] 如果源程序没有出现堆栈段,dos就会为该源程序自动分配128个字节的堆栈。 02/17 14:42
- [lwbfq] 祝贺博主,继续努力。 02/14 18:30
- [answerooo] 先把王老师的课本学完,所有的程序都要自己实现。 如果你用心学习了,学完之后你会对计算机有很多想要搞 02/13 22:26
- [martian] 博主说说分析过程 01/11 18:15
- [游客] 基本环境,几大问题的解决方案(如CPU轮转、内存分配、作业管理等),编程接口,最重要的——系统思想( 01/09 20:25
- [younggay] 当然不是API了。这种应该是了解这些操作系统的使用、环境特点、基本机制吧。并不是指对操作系统的编程吧 01/09 12:34
[2009-04-06 12:42] 详解C语言中的lib文件以及tlib命令
[2008-08-06 12:18] 堆和栈的区别
转自:http://www.cnblogs.com/devilfeng/archive/2007/10/18/929159.html
一直就搞不清出这个问题,今天上网想起来,随即搜了搜,找到了一些资料。不知源作者是谁。姑且“拿来主义”一下,呵呵。
一、预备知识—程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两...
一直就搞不清出这个问题,今天上网想起来,随即搜了搜,找到了一些资料。不知源作者是谁。姑且“拿来主义”一下,呵呵。
一、预备知识—程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两...
阅读全文 |
作者:fontomas |
评论次数(4) |
浏览次数(1789)
[2009-01-20 22:52] 什么是虚拟机?
什么是虚拟机?
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。
Java虚拟机
一、什么是Java虚拟机
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来...
虚拟机的概念比较宽泛,通常人们接触到的虚拟机概念有VMware那样的硬件模拟软件,也有JVM这样的介于硬件和编译程序之间的软件。这里所指的是后者。
虚拟机是一个抽象的计算机,和实际的计算机一样,具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。
Java虚拟机
一、什么是Java虚拟机
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来...
阅读全文 |
作者:c_tianyige |
评论次数(15) |
浏览次数(43061)
[2009-02-06 15:54] 第一课 函数malloc的实现_malloc.c
//malloc.c
#define NULL 0
union Node{
struct{
union Node *next;
unsigned int size;
}s;
long a; /*内存对齐*/
};
typedef union Node Header;
static Header *startup = NULL; /*空闲链表开始指针*/
extern unsigned int _heapstart;
c...
#define NULL 0
union Node{
struct{
union Node *next;
unsigned int size;
}s;
long a; /*内存对齐*/
};
typedef union Node Header;
static Header *startup = NULL; /*空闲链表开始指针*/
extern unsigned int _heapstart;
c...
阅读全文 |
作者:answerooo |
评论次数(5) |
浏览次数(1149)
[2007-12-26 12:24] 道行越深 编程越凸现算法重要性[转]
吴文虎
IT是个肥沃而勃勃生机的生态圈,不断孕育着一代又一代的新技术、新概念,而那些站在科技浪尖的自然成为开发者的宠儿。无论IT的浪潮多么朝夕莫测、滚滚而来,计算机和软件发展背后的根基却岿然屹立、经年不变,算法便是基础之一。
我国著名的计算机教育专家、信息学奥林匹克竞赛国家队总教练和领队吴文虎可谓桃李满天下,带过的学生包括张朝阳等,而在IT开发领域的学生更是不在少数。据他称,他的许多在软件领域的学生表示,在工作初期多会追随新潮和时髦的技术,但随着工作年龄的增加和编程技术的深入,却发现不是具体的技术而是算法这些基本的东西成为了技术深入的软肋,而且这跟软肋很疼。记者从几位...
IT是个肥沃而勃勃生机的生态圈,不断孕育着一代又一代的新技术、新概念,而那些站在科技浪尖的自然成为开发者的宠儿。无论IT的浪潮多么朝夕莫测、滚滚而来,计算机和软件发展背后的根基却岿然屹立、经年不变,算法便是基础之一。
我国著名的计算机教育专家、信息学奥林匹克竞赛国家队总教练和领队吴文虎可谓桃李满天下,带过的学生包括张朝阳等,而在IT开发领域的学生更是不在少数。据他称,他的许多在软件领域的学生表示,在工作初期多会追随新潮和时髦的技术,但随着工作年龄的增加和编程技术的深入,却发现不是具体的技术而是算法这些基本的东西成为了技术深入的软肋,而且这跟软肋很疼。记者从几位...
[2008-01-02 13:19] 声明与函数、函数指针[转]
在很多情况下,尤其是读别人所写代码的时候,对 C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。
问题:声明与函数
有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做?
答案
答案是 (*(void (*)( ) )0)( )。看起来确实令人头大,那好,让我们知难而上,从两个不同的途径来详细分析这个问题。
答案分析:从尾到头
首先,最基本的函数声明: void function (paramL...
问题:声明与函数
有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做?
答案
答案是 (*(void (*)( ) )0)( )。看起来确实令人头大,那好,让我们知难而上,从两个不同的途径来详细分析这个问题。
答案分析:从尾到头
首先,最基本的函数声明: void function (paramL...
[2008-01-14 16:28] c语言常见出错信息(转)
不用记忆,实在用得着当个表查就好了:-)
一般的情况用有限的几个英语单词大致翻译下就能找到问题在哪,常遇到的问题多犯几次错误也就记住了。
Ambiguous operators need parentheses
不明确的运算需要用括号括起
Ambiguous symbol 'xxx'
不明确的符号
Argument list syntax error
参数表语法错误
Array bounds missing
丢失数组界限符
Array size toolarge
数组尺寸太大
Bad character in paramenters
参数中有...
一般的情况用有限的几个英语单词大致翻译下就能找到问题在哪,常遇到的问题多犯几次错误也就记住了。
Ambiguous operators need parentheses
不明确的运算需要用括号括起
Ambiguous symbol 'xxx'
不明确的符号
Argument list syntax error
参数表语法错误
Array bounds missing
丢失数组界限符
Array size toolarge
数组尺寸太大
Bad character in paramenters
参数中有...
[2008-04-28 10:16] 【转】汇编揭秘C中的参数传递
汇编揭秘C中的参数传递
文章作者:怕冷的北极熊
很多学习汇编的朋友想必对C也比较了解,因为在当前大学的课程体系里,它很有可能就是你接触到的第一门编程语言。由于对计算机的理解不够,学习时必定会遇到各种问题。有些问题是你通过思考就可以解决的,而更多的问题则是你无从思考,就好像它天生就是这样,你只要记住就OK了。然而这样的学习方式是机械的,更是没有创造力的。只有真正理解了C语言,你才有能力去驾驭它,否则它和你之间永远会隔着一层窗户纸,虽然很薄,但是你永远也捅不透。这是为什么呢?其实道理很简单,就好比在一个公司有现成的代码库可以调用,有的程序员遇到问题时,他唯一可作的就是调用代码库中的...
文章作者:怕冷的北极熊
很多学习汇编的朋友想必对C也比较了解,因为在当前大学的课程体系里,它很有可能就是你接触到的第一门编程语言。由于对计算机的理解不够,学习时必定会遇到各种问题。有些问题是你通过思考就可以解决的,而更多的问题则是你无从思考,就好像它天生就是这样,你只要记住就OK了。然而这样的学习方式是机械的,更是没有创造力的。只有真正理解了C语言,你才有能力去驾驭它,否则它和你之间永远会隔着一层窗户纸,虽然很薄,但是你永远也捅不透。这是为什么呢?其实道理很简单,就好比在一个公司有现成的代码库可以调用,有的程序员遇到问题时,他唯一可作的就是调用代码库中的...
页码数(1):
1