问题标签 [pragma]

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.

0 投票
2 回答
1986 浏览

c++ - C++ 指定标头在代码中包含目录

有没有办法在代码中指定包含目录,也许是通过#pragma?

我将项目设置为“src/”和“include/”文件夹。我正在尝试在 Visual Studio 2010 中编译,但我不想在项目设置中进行设置。

是否有另一种方法可以让它编译,而不必将包含指定为

0 投票
1 回答
270 浏览

pragma - 如何在 Garnet OS 上调用 #pragma segment Foo

我已经阅读了这个关于手掌片段的优秀教程:

http://onboardc.sourceforge.net/UsersManual.html#segments

但是使用 Garnet OS Development Suite 进行开发,编译器无法识别命令“#pragma segment Foo”,它警告我:“警告:忽略 pragma”

是否有启用此编译指示段的选项?

0 投票
5 回答
13045 浏览

c++ - “pragma”这个词是怎么来的?

所以我知道 pragma 是什么,它的用途是什么,但是这个词本身的含义是什么?我在代码中多次使用它,但我从来不知道这个词的实际含义或代表什么。

0 投票
2 回答
5576 浏览

visual-c++ - Clang中的编译指示消息?

GCCMSVC#pragma message中使用的 Clang 相当于什么?

0 投票
1 回答
173 浏览

flash - Flash/ActionScript - 通过锁定选择(折叠/展开)导航长脚本?

如果我想念关于使用 Objective-C 和 XCode 的 Mac OS X 本地编程的一件事,那就是设置#praga 标记(本质上是书签)以通过下拉菜单轻松浏览长脚本的能力。

在Flash创作CS5中,我可以折叠/扩展代码的选择,但是每当进行编辑时,将其删除时将其删除。如果可以锁定这些部分,以便在选择消失时它们不会消失,那么使用折叠/展开选择将是 XCode 的#pragma 标记的理想等价物,但据我所知这是不可能的?

0 投票
2 回答
1398 浏览

visual-c++ - MSVC _penter 和 _pexit 钩子可以在每个函数的基础上禁用吗?

MSVC 中有编译器选项,可以在进入和退出函数时自动生成检测调用。这些钩子称为 _penter() 和 _pexit()。编译器的选项是:

/Gh 启用 _penter 挂钩功能

/GH 启用 _pexit 挂钩功能

是否有编译指示或某种函数声明会在每个函数的基础上关闭检测?我知道使用 __declspec(naked) 函数不会被检测,但这并不总是一个非常实用的选择。我在 PC 和非 X86 平台上都使用 MSVC,非 X86 平台在汇编程序中手动编写 Epilog/prolog 很痛苦(更不用说它会弄乱调试器堆栈跟踪)。

如果这仅在每个文件(编译器选项)的基础上,我想我将不得不将特殊功能拆分到一个单独的文件中以关闭该选项,但如果我可以单独控制它会容易得多文件基础。

如果无法做到这一点,则后备计划是将函数移动到它们自己的 CPP 翻译单元并在没有选项的情况下单独编译。

0 投票
1 回答
4367 浏览

c++ - 使用 g++ 与编译指示链接

在 Visual C++ 中,可以通过执行#pragma comment (lib, "libname.lib"). 在 g++ 中是否有类似的可能?

0 投票
1 回答
3473 浏览

c++ - C++ #pragma 包

以下语句实际上做了什么以及它的效果是什么?

0 投票
2 回答
1473 浏览

c++ - 如何从反汇编中判断是否使用了函数的内在版本?

我试图在 VS2010 中优化我的锻炼应用程序。基本上我在核心循环中有几个 sqrt、pow 和 memset。更具体地说,这就是我所做的:

构建后,反汇编显示,例如,sqrt 调用仍编译为“call _CIsqrt(0x####)”,无论是否启用 /Oi 标志,都没有任何变化。

谁能解释一下我如何启用内在版本以及如何通过反汇编代码验证它? (我还在项目设置中启用了 /O2。)

谢谢

编辑: 通过添加 /fp:fast 解决了问题。以 sqrt 为例,内部版本使用单个“fsqrt”来替换标准版本“call __CIsqrt()”。可悲的是,就我而言,内在版本慢了 5%。

非常感谢 Zan Lynx 和 mch。

0 投票
3 回答
44818 浏览

c - 告诉 gcc 专门展开一个循环

如何告诉 GCC 展开特定循环?我使用了 CUDA SDK,其中可以使用#pragma unroll. gcc 有类似的功能吗?我用谷歌搜索了一下,但找不到任何东西。