找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 707|回复: 5

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

[复制链接]
发表于 2009-11-3 23:56:14 | 显示全部楼层 |阅读模式 IP:江苏扬州
就上图的目录结构,我是这样包含文件的(VC6.0):
(1) 在Tools/Options/Directories中目录指到Public这一层.
(2)头文件包含时,我是这样包含的:
#include "../public/lib1/file.h"

我这种方法的第一步感觉比较麻烦,而且指向的是绝对路径,移植性差,自己都觉得不可取。
如果没有第一步,在头文件包含时又不知怎样写才好。

附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
发表于 2009-11-3 23:56:15 | 显示全部楼层 IP:江苏扬州
当然,你所说的目录是你这个工程项目特有的,放到Tools/Options/Directories中是不合理的,正常的情况应该放到project->setting->c/c++->preprocess->Additional include directories中,用相对路径,如../public/lib1
回复

使用道具 举报

发表于 2009-11-3 23:56:17 | 显示全部楼层 IP:江苏扬州
非常感谢aogun版主,那么可否不在setting中指定包含目录而直接在文件中包含呢?
这时的相对路径该如何写呢?
还想请教一下aogun版主, ./public/lib1和../public/lib1 这两种写法有什么不同?
回复

使用道具 举报

发表于 2009-11-3 23:56:18 | 显示全部楼层 IP:江苏扬州
经过艰难的尝试,发现这样一个规律(自以为是规律,而且编译通过):
(1) 在Public目录下的的文件,如果要包含Public目录下的文件,则用这样的相对路径:
#include "../lib1/file.h"
(2) 在DirTest目录下的文件,如果要包含Public目录下的文件,则用这们的相对路径:
#include "../Public/lib1/file.h"
唉,可惜想不出理论依据
回复

使用道具 举报

发表于 2009-11-3 23:56:19 | 显示全部楼层 IP:江苏扬州
抱歉,最近比较忙,论坛上得比较少
./是指向当前目录,../是指向当前目录的上一级目录
直接包含在文件中当然可以,但是不推荐这么做。这样做对于大型项目头文件目录结构的组织会很不方便
一般情况下项目独有的include目录都是写在setting中的,setting中的相对路径是相对工程文件*.dsp文件所在目录而定的
在你举的例子中,setting中的目录应该写为../Public/lib1,这样别的文件在包含lib1下的头文件时就可以不写路径了
回复

使用道具 举报

发表于 2009-11-3 23:56:21 | 显示全部楼层 IP:江苏扬州
呵呵,没关系,非常感谢你的热情指导!现在已经理解了。谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 19:29 , Processed in 0.283966 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表