我试过把源文件拆成多个,再用include"",不行,很显然include是预处理命令,它只是把include“”里面的东西直接拷过来,作为源文件,根本起不到效果。
还有人说改编译模式,我改成大模式,再编译还是不行。
我用的是borlandc,具体情况是这样的,我的程序运行时,需要用malloc,分配内存,但是却返回的是空指针,意味着没有足够空间,
farmalloc一样。
如果有人知道怎么做,请说的详细一点,每一部应该怎么做,我比较菜,非常感谢!!
C语言中的代码段或数据段超过64k怎么办,以上两个能超过1m么
答案:2 悬赏:60 手机版
解决时间 2021-03-15 16:13
- 提问者网友:浩歌待明月
- 2021-03-15 09:46
最佳答案
- 五星知识达人网友:封刀令
- 2021-03-15 10:15
用大模式(Large),并把指针设为far型,这样可以达到1M内存.
对于超过的源程序,可以视代码或数据多少将其分解成两个或多个文件,分开后,尽管源码己小于64K,但编译模式还是要选用大模式,这样编译生成的OBJ文件,将会让连接程序把代码和数据安排在不同的段内,这样生成的EXE文件在加载时将告诉系统如何装入.
对于超过的源程序,可以视代码或数据多少将其分解成两个或多个文件,分开后,尽管源码己小于64K,但编译模式还是要选用大模式,这样编译生成的OBJ文件,将会让连接程序把代码和数据安排在不同的段内,这样生成的EXE文件在加载时将告诉系统如何装入.
全部回答
- 1楼网友:玩家
- 2021-03-15 10:45
你好!
malloc返回失败 还真没见过..
是不是你频繁malloc和free导致指针紊乱了呢
希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯