0
A
回答
1
这是可能的,创建另一个头,其中包括所有其他的包括,包括只有它:
COMMON.H:
#include <somefile.h>
#include <anotherFile.h>
#include <andAnotherOne.h>
在对方文件
,你只需要:
#include "common.h"
虽然我会认为这是一个坏主意,因为你公开的内容比你需要的每个类都多,并且违反了程序中模块的分离。另外,预处理器需要更多的工作,也许还需要编译器。
1
这是究竟如何:
#import <SomeFramework/SomeFramework.h>
工作。
会有开销 - 可能有更多的文件要读取,并且会有更多的文件需要解析。是否可接受的开销是由您来决定的。可以开发ObjC程序,使其具有非常小的物理依赖性,并且使用#import
可以节省大量冗余重新打开的标头(可能多次包含标头)。因此,如果正确完成,影响将非常小。
更大的问题可能是弄清楚如何避免将其他框架暴露给客户端。从你的头
#import <SomeFramework0/SomeFramework0.h>
#import <SomeFramework1/SomeFramework1.h>
#import <SomeFramework2/SomeFramework2.h>
#import <SomeFramework3/SomeFramework3.h>
#import <SomeFramework4/SomeFramework4.h>
#import <SomeFramework5/SomeFramework5.h>
200线从VS的lib的依赖200头......
我经常这样做,你的提议从依赖关系的变化隔离客户端的东西。他们不希望每个班级都有个别的问题,并且认为随着时间的推移,他们只想使用图书馆/软件包而不用麻烦。
相关问题
- 1. NaiveBayes分类器:我必须连接一个类的所有文件吗?
- 2. 每个可执行文件都必须有一个ELF头文件?
- 3. 我必须在哪里保存一个新的头文件?
- 4. 所有包含“#.h”的头文件都必须与.cpp文件位于同一文件夹中吗?
- 5. 表达式必须有一个类文件目录C++
- 6. 我必须在类的头文件中提到私有方法吗?
- 7. 我是否必须为类的所有私有方法声明一个类别?
- 8. 下载文件必须在mac的锚点中有一个url
- 9. 一类的NSManagedObject“的NSManagedObject必须有一个有效NSEntityDescription
- 10. 必须将所有java类文件都归属于java包吗?
- 11. JSONObject的问题一个JSONObject文本必须以'{'开头
- 12. SVNSERVE - 所有存储库必须位于同一个父文件夹中吗?
- 13. 一个ical文件必须有一个enddate吗?
- 14. 错误:表达式必须有一个类的类型
- 15. 表达必须有一个类的类型
- 16. 如果每个框架都有头文件,那么它是否必须有一个二进制文件?
- 17. 带有所有必要#include语句的单头文件
- 18. uitextfield委托必须是文件的所有者?
- 19. 我必须为log4j中的所有类创建appender吗?
- 20. FileAttachment的必须有一个帐户
- 21. 在一个给定轴的所有系列必须
- 22. 给定列中的所有行必须匹配,所有列
- 23. 如果只有一个斜杠开头,模式必须成功
- 24. 在一个文件中或所用类的头文件中定义所有常量是否好?
- 25. 在所有的jsps中添加一个jsp作为头文件
- 26. 有效的XML文档必须有一个根标签
- 27. 组件必须有一个有效的对等体 - BufferStrategy
- 28. 父项目必须有一个包装类型的POM
- 29. entityName.state必须有一个定义的类型
- 30. DbArithmeticExpression参数必须有一个数字常见的类型
感谢您的回复...真的有用 – Pinky 2012-02-16 08:36:49