问题标签 [header-files]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 可以在与在 Objective-C 中使用它的类头文件相同的文件中定义枚举吗?
如果不是,并且需要将其包含在单独的文件中(例如 MyEnums.h),是否每次 .m 或 .h 文件想要引用类型或其中一个值时都需要 #import MyEnums.h?
这是 MyClass.h 的示例代码:
这是我要定义的枚举:
如果我尝试将我的枚举定义放在 #1 中,我会收到错误:在 'interface' 之前可能没有指定类型或存储类。
如果我尝试将枚举定义放在 #2 中,我会收到错误:预期标识符或 '(' before 'end'。
如果我尝试将我的枚举定义放在 #3 中,我会在 'MyEnum' 之前得到 error: expected ')'。这是抱怨参数“useOfEnum”,因为它的类型尚未定义。
那么这可以做到吗?或者什么是最好的方法来做到这一点并限制所需的#imports 数量?
c - 代码仍然在没有任何包含的情况下运行(Bloodshed 的 Dev-C++)
我目前正在学习和试验 C,并且正在使用Bloodshed 的 DEV-C++作为 IDE。
现在,我刚刚意识到以下代码(因为它是......不包含或什么都没有)编译并运行:
现在,如果我没记错的话,这个源代码中不应该包含两个头文件以使其正常工作吗? stdio.h
并且string.h
...但是正如您所看到的,我没有添加它们并且代码仍然编译并成功运行。
我的抱怨是我希望编译器是“严格的”,因为由于我还在学习 C,所以我不希望代码在正常情况下不应该运行。
那么,有什么办法可以防止 Dev-C++ 在涉及到include
s 时“纠正我的错误”,即让它更“严格”?
c++ - 为什么 C 头文件不增加二进制文件的大小?
我编写了以下 C++ 程序
我编译了。
然后,我#include
在源文件中的头文件iostream,我再次编译。
正如预期的那样,文件大小增加了。
我还编写了以下 C 程序
我编译
然后,我#include
将头文件 stdio.h 重新编译
奇怪的是,可执行文件的大小保持不变。
iphone - XCode 中的标头搜索路径 - 是否可以设置宏或变量以使其与 SDK 版本相关?
更新:似乎最近的 XCode 更新可能已更改此宏,请参阅此问答了解更多信息:在 XCode 中获取旧的 SDKROOT 行为
情况:我在 iPhone 项目上使用 libxml2,并且我已将其添加为相对于 SDK 版本。但是,为了在项目中实际使用它,需要将其添加到 Project Settings 中的 Header Search Paths 中。
我希望这完全与 SDK 版本无关,因此标题搜索路径也应该与 SDK 版本相关,但是没有明显的方法来扩展代表 SDK 文件夹的变量。
例如,这是实际的文字路径:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/libxml2
我希望能够表达
$MAGICAL_BASE_SDK_VARIABLE/usr/include/libxml2
这是可以使用 XCode 完成的吗?
c++ - 另一个链接器问题
我遇到了与基本 C++ 程序的链接问题。不,我不包括.cpp
文件!
这就是正在发生的事情。
主.cpp:
标头.h:
某事.cpp:
发生的事情是我得到一个编译器错误:一些标准 C 函数的多个定义,例如strtod
:
g++ -o ... main.o
build/....main.o:在函数“strtod”中:../MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/stdlib.h:318:“strtod”的多重定义
build/..something.o:...something.cpp:(.text+0x0): 首先在这里定义 collect2: ld 返回 1 退出状态
如果我#include <iostream>
在两种情况之一中摆脱并摆脱cout
s,它将编译。这是怎么回事?我正在使用 g++ 和 NetBeans 进行编译。
我在命令行中尝试过:
同样的事情也发生了。
c++ - 查找未使用的包含标题的工具?
我知道PC-Lint可以告诉您包含但未使用的标头。有没有其他工具可以做到这一点,最好是在 linux 上?
我们有一个庞大的代码库,在过去的 15 年中已经看到了大量的功能移动,但是当功能从一个实现文件移动到另一个实现文件时,很少会删除剩余的 #include 指令,这给我们留下了相当大的混乱。我显然可以做一些艰苦的事情,即删除所有#include 指令并让编译器告诉我要重新包含哪些指令,但我宁愿反过来解决问题——找到未使用的指令——而不是重建使用过的指令列表。
latex - Doxygen 中的 HeaderFile 是什么?
我运行此命令失败
c++ - 什么是WINVER?
我正在查看一些代码,他们有这一行:#define WINVER 0x0501
在stdafx.h
文件中?为什么需要定义WINVER
?它如何影响您的代码?有人可以解释一下吗?
c# - 在 C# 中内置头文件解析器?
我想知道 C# 中是否有用于头文件的内置运行时解析器。我有几个不同的 C 头文件要解析(它们稍后将用于确定如何反序列化网络数据包)。
理想情况下,一些选项可以动态加载 .h 文件,创建结构,然后使用反射以某种方式解析结构,只是不确定是否有办法在运行时加载 .h 文件以创建结构。
如果没有简单的方法可以做到这一点,我可以手动解析它。
c++ - C++:包含头文件编译失败,但包含源 cpp 文件编译
这可能真的很简单,但它阻碍了我在 C++ 道路上的前进。我目前正在阅读加速的 C++,我决定过度使用其中的一个练习。这一切都运行良好,我的代码运行良好,直到我将其拆分为头文件和单独的源文件。当我导入包含我编写的一些函数的 .cpp 源文件时,一切运行正常。但是,当我尝试通过头文件导入函数时,它会严重失败,并且出现以下错误。我正在使用 Geany 的 gcc 进行编译,到目前为止一切正常。谢谢你的帮助。
错误:
“统计.h”:
“stats.cpp”:
“四分位数.cpp”: