TC官方合作论坛

标题: 预定义#include""疑问问题 [打印本页]

作者: jianqiumy    时间: 2013-9-12 23:44
标题: 预定义#include""疑问问题
请问:
问题一:那请问T文件有没有数量限制?
按正常调用:A空间 预定义 #include"B",在A空间里 再调用B空间里的函数(是这样吧)

测试前:问题二:空间与空间都是靠 预定义 #include"" 来连接才可以调用,t文件多的话,一两个T文件没加到#include"",也能调用,很是奇怪(60个T文件左右(代码量较大不知道有没有影响))
为何没加到预定义 #include"",也能调用 其它空间?
测试后:
例如1:A空间 预定义 #include"B",.C.D.E.F.G.空间,,        而W空间 只 预定义 #include"A",就可以调用B.C.D.E.F.G.空间了,这算是正常调用吗?(我测试可以调用)
例如2:A空间 预定义 #include"B",  B空间 预定义 #include"C",   C空间 预定义 #include"E",  而W空间 只 预定义 #include"A",就可以调用B.C.E.空间了,这算是正常调用吗?(我测试可以调用)
意思就是说A 预定义调用了B, 而B预定义调用了C,    A就可以直接调用C不用预定义 了C了(是否正确的?)
所以带着疑问?
谢谢解答很是感激~~



这样调用是否正常?当T文件过多是否 可能会做成内存溢出吗?或者其它未知情况吗?()

[attach]11061[/attach][attach]11063[/attach][attach]11064[/attach]







作者: dongyijun1979    时间: 2013-9-13 00:27
不太清楚,内存还能溢到机箱外面去了
哪来那么多T文件,那你代码一开篇就是哗啦哗啦的宏包含,甚是壮观啊?

那60来个文件调用起来,就空间名都能把人搞晕.

你把那60来个.t文件合并成一两个不行么?  或者你把它们稍微改一下,生成tll,放进资源嘛
作者: jianqiumy    时间: 2013-9-13 00:35
回复 2楼dongyijun1979的帖子

一个文件 几千行代码,还合并?那还如何管理?
作者: jianqiumy    时间: 2013-9-13 00:36


难不成写个辅助,就一个T文件几十万行代码,你来看?
作者: dongyijun1979    时间: 2013-9-13 00:42
是不太好合并,要有同名函数的话,还真是个麻烦事
作者: qq06314488    时间: 2013-9-13 02:09
回复 3楼jianqiumy的帖子

你牛B,一个文件几千行代码,算他3000行好了, 60个文件就是10W8,
作者: jianqiumy    时间: 2013-9-13 04:33
回复 6楼qq06314488的帖子

老大你就别笑我了!!愁死了!!!!!


作者: jimye0526    时间: 2013-9-13 07:58
不明觉厉,你把t文件都加到跟界面事件关联的那个t文件就好了,那样就相当于一个t文件包含很多个空间,每个空间都可以调用其他空间的函数
作者: kevinqq    时间: 2013-9-13 09:46
  嗯  像飞灵说的那样,把所有的文件导入到 界面的.t文件就行了, 其他地方就都可以随便调用
在这里 我更正一下,
TC语言在编译的时候 会根据#include 去选择编译文件的顺序
例如
主空间 A
#include b
#include c
#incude d

b空间
c.text()

TC在编译的时候,会先找到B文件,进入B文件
B文件里面并没有包含C文件,但是里面里面又调用了C的功能
这个时候 编译器就找不到c.text的功能在那 ,就会开始报错
所以这个时候 把C文件包含一个就可以了,


TC编译过程跟C++的编译方式是一样的

作者: jianqiumy    时间: 2013-9-13 12:16
回复 8楼jimye0526的帖子

谢谢飞灵大神
作者: jianqiumy    时间: 2013-9-13 12:18
回复 9楼kevinqq的帖子

谢谢解答
作者: jianqiumy    时间: 2013-9-13 13:07
回复 9楼kevinqq的帖子


请问老大,T文件有没数量的限制?

还有就是只要能通过编译调用,可以不管它有没有在本空间
预定义 是这样对吗?

因为遇到一点问题!调试的时候去掉部份预定义 反而正常运行,不然几个小时后有可能出现内存不能为XXX
很长时间了,我还是不知道问题出在那!!





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1