| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3282 人关注过本帖
标题:请问超过64k而无法编译成可执行文件怎么办?
只看楼主 加入收藏
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 
编译的时候并没有出错,主要出现的是linker错误,是在链接成可执行文件的时候出现的错误。请问应该如何链接呢?在turboC环境下把分别编译好的几个.OBJ文件链接成.EXE文件应该如何具体操作呢?
2004-08-14 00:05
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

knocker 说的对,一个原文件最多也是只能有64K。

我们上面说的是数组太大的问题!


差点把你忘了...
2004-08-14 10:44
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 

可能是我前面说得不清楚.现在我说详细点.

我的原程序包括的是一个main函数的文件和多个子函数的文件.当我把main函数和一部分子函数编译的时候是成功的,然后把main函数和另外的子函数编译的时候也是成功的,但是,当我把main函数和这两部分的子函数一起编译的时候,就会出现上面我所说到的错误提示.我想,我写的main函数和每个子函数都不会超过64k的.

是不是当所有函数总和超过64k的时候就不能编译链接呢?那么,如果是这样的话,分别编译成.OBJ文件后,又应该如何操作使之链接成一个.EXE文件呢?因为我是新手,所以我只会用主界面里的link命令,这个命令好象只能紧接在compile命令后面执行,所以做不到knocker所说的分别编译再链接.希望大家能教教我啊.在这里再次感谢大家对我的热心指导了!

2004-08-14 12:23
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

TC不光有Tc.exe还有tcc.exe,tlink.exe,tlib.exe,make.exe等等

tlink.exe就是用于链接.obj文件的,例如:有mainline.obj test1.obj test2.obj

则执行: tlink.exe /C mainline.obj test1.obj test2.obj , ok.exe , ok.map, lib\*.lib ......

具体查看TC帮助文件


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-08-14 23:09
深蓝幻想
Rank: 1
等 级:新手上路
帖 子:104
专家分:0
注 册:2004-8-6
收藏
得分:0 
以下是引用knocker在2004-08-13 19:51:39的发言:

1.首先说明一下64K的限制是对源程序而言,而非楼上诸位所说的与内存模式相关。

2。解决此问题很简单,分成几个文件,分别编译,然后再链接到一起。

链接怎么用?!

!~!~!深蓝幻想,幻想深蓝!~!~! Qq:1235531
2004-08-15 09:04
快速回复:请问超过64k而无法编译成可执行文件怎么办?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014396 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved