麻辣堂|资源主站|开发论坛|在线手册
首页注册帮助 
Delphi for php 交流论坛
  您现在的位置:Unix5开源世纪 > U5编程社群 > 详细内容
待解决
[讨论]程序中的目录结构和包含方法
悬赏分:20 - 2006-09-13 15:50:00

[讨论]程序中的目录结构和包含方法

[attach]11633[/attach]<BR><BR>就上图的目录结构,我是这样包含文件的(VC6.0):<BR>(1) 在Tools/Options/Directories中目录指到Public这一层.<BR>(2)头文件包含时,我是这样包含的:<BR><FONT color=#3809f7><STRONG>#include "../public/lib1/file.h"</STRONG></FONT><BR><BR>我这种方法的第一步感觉比较麻烦,而且指向的是绝对路径,移植性差,自己都觉得不可取。<BR>如果没有第一步,在头文件包含时又不知怎样写才好。<BR><BR>
提问者:olivezhang 2006-09-13 15:50:00
答复
呵呵,没关系,非常感谢你的热情指导!现在已经理解了。谢谢![em17]
回答者:olivezhang - 2006-09-14 17:37:00
抱歉,最近比较忙,论坛上得比较少<BR>./是指向当前目录,../是指向当前目录的上一级目录<BR>直接包含在文件中当然可以,但是不推荐这么做。这样做对于大型项目头文件目录结构的组织会很不方便<BR>一般情况下项目独有的include目录都是写在setting中的,setting中的相对路径是相对工程文件*.dsp文件所在目录而定的<BR>在你举的例子中,setting中的目录应该写为../Public/lib1,这样别的文件在包含lib1下的头文件时就可以不写路径了
回答者:aogun - 2006-09-14 13:29:00
<P>经过艰难的尝试,发现这样一个规律(自以为是规律,而且编译通过):<BR>(1) 在Public目录下的的文件,如果要包含Public目录下的文件,则用这样的相对路径:<BR>    #include "../lib1/file.h"<BR>(2) 在DirTest目录下的文件,如果要包含Public目录下的文件,则用这们的相对路径:<BR>     #include "../Public/lib1/file.h"<BR>唉,可惜想不出理论依据<BR></P>
回答者:olivezhang - 2006-09-13 17:59:00
非常感谢aogun版主,那么可否不在setting中指定包含目录而直接在文件中包含呢?<BR>这时的相对路径该如何写呢?<BR>还想请教一下aogun版主, ./public/lib1和../public/lib1 这两种写法有什么不同?
回答者:olivezhang - 2006-09-13 17:18:00
当然,你所说的目录是你这个工程项目特有的,放到Tools/Options/Directories中是不合理的,正常的情况应该放到project-&gt;setting-&gt;c/c++-&gt;preprocess-&gt;Additional include directories中,用相对路径,如../public/lib1
回答者:aogun - 2006-09-13 17:06:00
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
87 + 30 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM