问题标签 [compiler-directives]
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.
ios - 使用编译器指令在文件丢失时发出警告
我有一个包含在具有以下名称的捆绑包中的文件:
其中 X 是应用程序的版本。如果版本是 2.8,则文件应命名为database2.8.sqlite
. 当应用程序提交给 Apple 时,我必须确保包含此文件。
是否可以创建编译器指令来检查文件是否在包中?
我试过这个,没有成功
file in bundle
即使文件不在捆绑包中,也会始终显示。
fortran - gfortran 编译器指令添加/删除编译器选项
我想暂时禁用一段 Fortran 代码的 gfortran 编译器选项。我正在寻找类似的东西:
看起来gcc/g++ 没有这样的编译器指令。用gfortran可以实现吗?
verilog - 非特定的 `include 文件名 - 系统 Verilog 编译器指令
我想使用 `include 指令来调用非特定文件名。例如,在其他目录中有这个文件名“name_defines.svh”。由于“name_defines.svh”的“名称”发生了变化(可以是例如a_defines.svh、b_defines.svh ..等),如果我只使用它是否有可能
或者
以便系统verilog编译器找到文件名并将其包含在我当前的.sv文件中,就像我使用
ps - 假设工作目录中没有其他文件具有结尾的“_defines.svh”字样,并且仅对“name_defines.svh”是唯一的
c++ - 如何在整个编译过程中遵循预处理器指令
我正在使用一个在 Visual Studio 中编写的充满编译器指令的程序。
我做了一些更改,现在我遇到了一个未解决的外部编译器/链接器错误。
我相信这是由编译器指令引起的,它似乎没有检测到该特定函数的实现,为了调查这一点,我想#ifdef
在整个编译过程中遵循编译器指令。
我已经尝试过使用该配置,但在窗口/P
中没有看到任何编译器指令。Output
有人知道怎么做这个吗?
c - 为一段代码静默未使用的静态函数警告
本着忽略的后果是什么:警告:未使用的参数,但我有未使用的静态函数,
动物.h
我绝对希望SleepyLlama
被聪明的编译器检测为未使用并从代码中优化。我不想听到它;潜在地,当我扩展到越来越ANIMAL
多的动作时,它会变得分散注意力。但是,我不想干扰关于foo
未使用的可能警告。
MSVC
(14) has #pragma warning(push)
,但显然不检查;gcc
(4.2) 并且clang
有-Wunused-function
. 我已经尝试过https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html但它们似乎不适用于功能。foo
有没有办法SleepyLlama
在不同的编译器之间获取所有警告?
delphi - 我可以在编译器指令中推断出类型的类型吗
是否可以像这样创建条件定义:
我为什么要这个?
我在使用class
和record
针对特定问题之间交替使用。
出于速度原因,我想使用记录,但也想class
使用方便。
出于这个原因,我在两者之间切换。
显然我可以添加一个{$define}
语句,但如果能够自动执行它会很好。
vb.net - 为什么 MSBuild 将 #Disable 和 #Enable 指令标记为错误 BC30248?
我正在一个环境中工作,在这个环境中,所有项目都被置于与项目的特定业务领域无关的全球解决方案中。所以解决方案是一个怪物。我习惯于基于关注点分离的更加隔离的方法;但这与问题无关。
此解决方案中的一个项目是用 VB.NET 编写的,并且有一段代码使用#Disable
和指令,如此处#Enable
所述
根据微软的说法,这些指令是有效的,如果我在 Visual Studio 中针对包含这些指令的项目执行特定构建;我得到了一个成功的构建。
但是,该组织需要从命令提示符使用 MSBuild 初步成功构建,以确保它将在构建服务器上构建。我无法得到,因为 MSBuild 报告:
这是引发错误的实际代码块:
我能得出的最好结论是,在执行构建之前必须设置一些 MSBuild 可选标志以适应此情况并防止错误或这些指令已被弃用。虽然不是 100% 肯定是这种情况(如果有的话),但我确实需要让代码在 MSBuild 下成功构建。
如果它们是警告,我可以简单地忽略它们,但事实并非如此。
此外,我已经尝试通过 /p:VisualStudioVersion 开关使用不同的版本。结果都是一样的。
python - __future__ 进口如何在幕后工作
我对这个__future__
模块很着迷——尤其是它能够改变在 python 中解析语句的方式。
最有趣的是如何做类似的事情
使您能够使用print
(而不是print_function
,就像您期望任何其他正常导入一样)。
我已经阅读了 Python 中的 __future__ 是什么以及如何/何时使用它,以及它是如何彻底工作的,特别是遇到了一个特定的行:
未来语句是对编译器的指令,即应该使用将在指定的 Python 未来版本中可用的语法或语义来编译特定模块。
我很想知道究竟是什么让这成为可能。特别是,如何像
可以在python2上启用真正的除法,而
可以在 python3 上启用<>
语法(我觉得最有趣的是你必须从 " __future__
" 导入一个特性以实现向后兼容性)。
无论如何,总而言之,我想知道在__future__
导入或导入其工件时编译器如何理解和执行该指令。
julia - 等效于 Julia 中的 c\c++ 编译器指令
使用编译器指令,如
在 C\C++ 语言中,可以告诉编译器在某些情况下忽略某些代码部分。我很想知道 Julia 语言中是否有与此功能等效的功能。
python-3.x - Cython 编译器指令 language_level 不受尊重
我正在使用 Cython 的编译器指令(http://docs.cython.org/en/latest/src/reference/compilation.html#globally)。
编译:
所以language_level指令没有得到尊重。因此,cythonize 最终使用 Python 2 语义,并且由于上面的 print 语句在 Python 2 中无效而引发错误。
但是,包括任何 Python 语句都会使这项工作:
编译和执行:
知道 import 语句如何使language_level受到尊重吗?
我也在Cython GitHub 存储库上提出了同样的问题?