- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了避免多次包含头文件,我的一位 friend 建议采用以下方法
#ifndef _INTERFACEMESSAGE_HPP
#define _INTERFACEMESSAGE_HPP
class CInterfaceMessage
{
/ /Declaration of class goes here
//i.e declaration of member variables and methods
private:
int m_nCount;
CString m_cStrMessage;
public:
CString foo(int);
}
#endif
其中 _INTERFACEMESSAGE_HPP 只是一个标识符
但是当我使用 Visual Studio 2005 IDE 声明一个类时,我得到的声明为 #pragma 一次在类定义的开头当我在msdn的帮助下找到#pragma的目的时它给了我以下解释
“指定编译器在编译源代码文件时仅包含(打开)该文件一次。”
有人请告诉哪种方法是正确的?如果两者都正确,那么有什么区别?一种方法比另一种更好吗?
最佳答案
gcc 的编译指示已被弃用。您应该使用标准包含防护。所有编译指令都是根据定义实现来定义的。因此,如果您想要可移植性,请不要使用它们。
关于visual-c++ - 使用 #pragma Once 或 #ifndef#endif 哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5537107/
当使用 Unity 5 (B18) 并为 iOS 构建时,出现以下错误: .../RegisterMonoModules.cpp:87:2: error: #endif without #if #en
在 C# 中有更快的方法吗 #if foo Something(); #endif 像伪代码: #if(foo, DoThat(); ) 我是程序员,程序员很懒;-) 最佳答案 没有什么可以让你写
如何检查版本 >= 设定版本,例如2.3.4.17 如果我有以下定义(每个定义可能有1-2位数字)? #define VERSION_NUM_MAJOR 1 #define VERSION_NUM_M
这个问题已经有答案了: Scope of macros in C? (7 个回答) 已关闭 8 年前。 正如标题所暗示的,我的问题是预处理器指令是否 #if和#endif充当范围?考虑这个例子: #d
这个问题已经有答案了: Use #ifdefs and #define to optionally turn a function call into a comment (11 个回答) 已关闭 8
我应该始终将 #if 指令与 #endif 结合使用吗? 如果是 - 如果我只使用 #if 会有什么问题? 如果不是 - 当我只使用 #if 时,当组合使用 #if/#else 时? 谢谢。 最佳答案
我目前执行以下操作,编译器(MSVC2008/以及 2010)没有提示,但我不确定这是否是个坏主意: #ifndef FOO_H_ #define FOO_H_ // note, FOO_H_ is
假设我有两个文件,a.h: #if 1 #include "b.h" 和b.h: #endif gcc 和 clang 的预处理器都拒绝 a.h: $ cpp -ansi -pedantic a.h
我有一段我写的 vb.net 代码。这是一个带有两个嵌入式 if 语句的 for 循环,编译器告诉我每个 elseif 和 endif 必须以匹配的 if 开头。 这是我使用 vb.net 的第二天,
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-topic在这里
这个问题已经有答案了: What exactly does an #if 0 ..... #endif block do? (8 个回答) 已关闭 6 年前。 现在我又困惑了。在我们旧的 C 代码中,
我了解 C 语言中 #if#endif 预处理器指令的基础知识,因为根据哪个表达式计算结果为 true,#if 中的后续代码将被编译,但是我目前正在学习 portaudio(我正在为学校制作一个 VO
我需要两个正则表达式来识别if .. then .. else .. endif节及其部分。 来自如下表达式: 示例 1: 5 + 10 * (if (4 + 4.5) > 0 then 20 els
今天我想到了一个奇怪的问题 - #if...#endif 代码片段中可以放置的行数有上限吗? 我在第一行有一个#if,然后在第500行它突然关闭而没有#endif。这可能吗? 最佳答案 没有限制。 #
当前正在创建一个头文件,并使用ifndef、define、endif等创建它。 但是,每次我创建它时,Visual Studio Code 都会抛出错误。 #ifndef _roundemup_h_
int main(void) { #if 0 something" #endif return 0; } 上面的一个简单程序会生成一个警告:missing termin
这个问题在这里已经有了答案: Are tokens after #endif legal? (4 个答案) 关闭 9 年前。 考虑一下: #ifndef GUARD_H #define GUARD_
我最近不得不为比特币的脚本语言编写一个解释器;其中一部分涉及提出一种算法来检查给定脚本中的控制流是否有意义(即每个 OP_IF 都有一个匹配的 OP_ENDIF,每个 OP_ELSE 和 OP_END
为什么它不起作用?在第 7 行出现 Parse error: syntax error, unexpected ':' ... $a = 0; $b = 1; $c = 3; $d = 4; if (
这个问题不言自明。 在 PHP 中,我什么时候使用 if/endif 表示法而不是标准的 if(something){} 表示法? 例子: A is equal to 5 对比: A is eq
我是一名优秀的程序员,十分优秀!