| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3290 人关注过本帖
标题:请问超过64k而无法编译成可执行文件怎么办?
只看楼主 加入收藏
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
 问题点数:0 回复次数:14 
请问超过64k而无法编译成可执行文件怎么办?

我在用truboc3.0编写软件,但是当程序编写过大的时候无法编译成可执行文件,请问应该如何解决呢?请各位高手指教.谢谢!

搜索更多相关主题的帖子: 文件 编译 软件 编写 
2004-08-13 11:42
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

C有不同的编译方式,可以改变:数据段大小范围,代码段大小范围。堆栈段大小范围!!

就是:微型模式,小模式,紧凑模式,中模式,大模式,巨模式(好象是这些)

没用过所以没有经验!!!

[此贴子已经被作者于2004-08-13 12:44:01编辑过]


差点把你忘了...
2004-08-13 12:42
econoy
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-8-10
收藏
得分:0 
嗯,如二楼所说,我猜你的程序一定是数据太多而超过64K,而不是代码太多吧,那最好用巨模式编译。
2004-08-13 12:49
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 
我是新学的c语言,所以不是很熟悉.请问怎么改变编译模式呢?
2004-08-13 12:52
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 

谢谢2,3楼的大哥了.

出错语句提示为:segment _text exceeds 64k.

所以我想应该是代码超过64k吧.不知道在哪里改设置呢?请各位再指教指教啊

2004-08-13 13:35
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

在C的菜单中有!

不过因为有远近指针的问题,所以,你自己注意一下!!!

如果你是用数组这样的话,可以改变一下申请方式,用动态申请!!!


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

segment _text exceeds 64k.?

那说明text这个变量或者数组得数据是超过64K的,new comer to c 是不太可能写出超过64k的代码的 :-o)

至于如何改为巨模式,很多方法,可用命令行:eg. tcc -ml.........忘了:o)

或者改menu:option-compile-huge

2004-08-13 17:17
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 

弄了一天,还是没弄成啊.

当我用small(64k for code,64k for static data)模式编译的时候,出现 segment _text exceeds 64k. 的提示错误.

用compact(64k for code,1M for static data)模式编译的时候,还是出现 segment _text exceeds 64k. 的提示错误.

用medium(1M for code,64k for static data)模式编译的时候,TC应用程式出错,跳出

"Tubro C++ IDE X#=0D,CS=0B97 IP=00003363.NTVDM CPU 遇到未经处理的例外.选择"关闭"终止应用程序"

的提示框.

请问这是怎么回事呢?

[此贴子已经被作者于2004-08-13 18:30:04编辑过]

2004-08-13 18:23
mengchabang
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-8-13
收藏
得分:0 
另:我是最近刚学的C 语言,但是,这一个多月我在一边学一边使用它来编写我工作中要用到的一个模拟软件,现在已经编了很多内容了,所以,写出超过代码64k的代码应该也不是什么奇怪的事.
2004-08-13 18:34
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 

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

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


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-08-13 19:51
快速回复:请问超过64k而无法编译成可执行文件怎么办?
数据加载中...
 
   



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

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