![]() |
1
331
导入指令作为include的改进版本添加到了objective-c中。然而,它是否得到改善仍然是一个争论的问题。#导入确保文件只包含一次,这样就不会出现递归包含问题。然而,大多数合适的头文件无论如何都会保护自己不受此影响,所以这并不是什么真正的好处。 基本上,由你决定你想用哪一种。我倾向于为Objective-C事物(如类定义等)导入标题,并且包括我需要的标准C事物。例如,我的一个源文件可能如下所示:
|
![]() |
2
340
关于预处理器,似乎有很多混淆。
当编译器看到
所以如果你有文件
和一个文件
文件
这将导致编译器错误,因为
因为一个标题经常被用在多个地方 包括警卫 通常在C中使用。如下所示:
文件
这真的很有效,但有两个缺点。首先,必须编写include保护,并且每个头中的宏名称必须不同。其次,编译器仍然需要查找头文件,并尽可能频繁地读取它。
目标C具有
|
![]() |
3
61
我同意杰森的观点。 我被抓到做这件事:
对于GNUGCC,它一直抱怨time()函数 未定义。 然后我把import改为include,一切都正常了。 原因:
您导入<sys/time.h>:
您导入<time.h>:
底线:
传统的C/C++标题包括
部分
其他包括文件。
|
![]() |
4
22
底线就是用
|
![]() |
5
11
我知道这条线很旧…但在“现代”中……通过
clang's
或
要启用模块,请传递命令行标志
我发现编译/发布时间“感觉”更快(或者可能,在“链接”时有更少的延迟?)…此外,还提供了清除现在无关的project-prefix.pch文件和相应的构建设置的大好机会,
此外,虽然没有很好的文档记录,但您可以创建
|
![]() |
6
4
如果您熟悉C++和宏,那么
类似于
这意味着你的类在你的应用程序运行时只加载一次。 |
![]() |
7
1
如果在.h文件中包含两次文件,编译器将给出错误。 但如果您多次导入一个文件,编译器将忽略它。 |
![]() |
8
1
在5月份的案例中,我在
|
![]() |
9
0
在文件中:main.cpp
在每个头文件(*.h)的顶部使用头保护,以防止多次包含同一个文件(如果发生这种情况,则会出现编译错误)。 文件中:otherfile.h
即使你把
|
![]() |
tryingmybest09 · 设置出生日期排序不正确 2 年前 |
![]() |
Dane234345 · 从另一个文件中的函数导入变量 2 年前 |
![]() |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
![]() |
benroths · PyQt5/Python3参考qss文件 2 年前 |
![]() |
rm.rf.etc · Jupyter笔记本电脑组织,带有可重用代码 2 年前 |
![]() |
artooras · 从本地文件导入到下一个文件。配置。js 3 年前 |
![]() |
ash · 在Solr中索引JSON文件名和JSON内容 6 年前 |