问题标签 [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.

0 投票
3 回答
5072 浏览

c# - 如何判断代码是否在 Visual Studio/Cassini 本地运行

我有一个接口,我们称之为它ILocateLogFile,它具有用于开发/测试/生产服务器的标准实现,并且仅适用于本地开发环境。我似乎想不出一种干净的方式来决定(最好在编译时,但运行时会很好)我​​是在本地运行还是在服务器上运行。这是托管在 IIS 上的 WCF 应用程序,如果这很重要的话。

我想出的最好的方法是使用编译器符号,例如:

问题是,编译符号由构建设置,我无法控制,我想确定。没有一些自动的方法来检查 Visual Studio 的存在吗?或者至少检查 Cassini 而不是 IIS?

0 投票
3 回答
1981 浏览

debugging - Scala:代码仅在调试时运行(#ifdef 等效?)

在 C++ 中,我可以写:

Scala中有没有等价物?

0 投票
2 回答
5998 浏览

javascript - 使用指令在 Angular 中渲染 html

我从所见即所得编辑器的输出中将 html 数据存储在我的数据库中。html 还存储一些指令的 html。其中之一是 ui-bootstrap 工具提示:

通过使用绑定,我可以让任何其他 html 元素工作:

但是带有指令引用的 html 不与实际指令交互。

我怎样才能让指令起作用?

我必须编译html或类似的东西吗?

0 投票
3 回答
1092 浏览

delphi - 将单元添加到项目正在从项目源中删除编译器指令

这应该以这种方式工作还是我做错了什么?

我的项目源代码中有这段代码:

我希望在调试模式下使用 ADebugUnit,但在发布模式下编译时使用 AReleaseUnit。这很好用,除非我选择向项目添加新单元。当我这样做时,它基本上会处理代码,并且只保留与项目当前设置的任何配置相关的单元。

例如,如果配置设置为调试,那么在我的项目中添加一个新单元后,上面的代码将更改为:

或者,如果我的配置设置为发布,添加新单元后将更改为以下内容:

添加新单元后,我必须始终将其恢复为条件语句。有没有办法在没有添加新单元干扰的情况下实现这一点?

0 投票
1 回答
366 浏览

vb.net - DEBUG 指令不起作用

在我的 .NET MVC 4 站点中,我在几个地方使用了 #If DEBUG Then。最近我注意到 DEBUG 变量似乎存在一些问题。这个问题一直在发生

这是我在控制器操作中放入的一些代码来测试我的问题:

如果我在调试和发布模式之间交替运行我的网站多次,起初代码会工作,但经过几次尝试后,上面的代码块会陷入认为它处于发布模式或陷入认为它处于调试模式的状态。在这一点上,无论我是处于调试模式还是发布模式都无关紧要,愚蠢的东西会坚持它卡住的任何值并转到该值的代码块。

在发布模式下,= True 行显示为灰色。在调试模式下,= False 行显示为灰色。所以这行得通。但是,如果该代码对应于代码所停留的值,则该代码可能仍会运行灰线。

无法解决的问题: - 交替进行一些 - 重新启动 VS - 重新启动计算机 - 卸载项目

唯一似乎解决它的方法是更改​​条件语句或添加更多 #If DEBUG Then 代码在其他地方。就好像编译器在某些情况发生变化之前不会重新读取条件。这只发生在我正在处理的一个 VS 项目上,不会发生在其他项目上。

0 投票
1 回答
5217 浏览

c++ - 我可以告诉 nvcc 将#pragma unroll 应用于函数中的所有循环吗?

我有一个 CUDA 内核,里面有一堆我想展开的循环。现在我做:

等等。我想告诉(提示)我的 C/C++ 编译器展开所有这些循环,而不需要为每个循环单独提示。但是,我不想展开文件中所有代码中的所有循环,只是在这个函数中。

如果这是 GCC,我可以这样做:

或使用选项推送和弹出。我可以用 CUDA 做一些等效的事情吗?

0 投票
4 回答
508 浏览

c - C 编程指令#include打印

我有那个简单的 hello world 程序。它说的第一行#include <stdio.h>

我用谷歌搜索它,它基本上告诉预处理器定义输入/输出的功能。

第一个问题:
我读到函数的实际代码首先编译为目标文件。那么,如果我说它#include <foo.bar>自动链接该目标文件?

第二个问题:
当我删除包含时,程序仍然有效......我的意思是printf声明......为什么?

0 投票
1 回答
67 浏览

c# - 条件属性与评论

我刚刚阅读了http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx

而且我正在努力理解使用之间的区别

有没有

只是评论/取消评论一个方法?

ConditionalAttribute 的唯一目的是使编译器忽略方法或属性吗?如果是这样,为什么不使用评论呢?如果不是,与仅使用注释相比有什么优势?

0 投票
2 回答
97 浏览

javascript - 使用指令/$compile 将 HTML 设置为属性

我的模块的控制器有一个属性作为我在其中组装 HTML 的字符串。

在指令中,我尝试将 HTML 字符串分配给工具提示的属性,即“工具提示-html-不安全”。

我能够将整个元素分配给这个工具提示属性。如何访问父范围的属性?

请查看我的 plunkr 以获取给出的代码: http ://plnkr.co/edit/rTq8zrKdc3qABrc9Tde6?p=catalogue

0 投票
0 回答
85 浏览

delphi - 错误 XML 注释的警告 - 如何启用?

我想要针对不良 XML 注释的警告。它们在项目选项中打开,并且单元内没有带有错误 xml 注释的编译器指令,但我没有收到任何警告。还有什么可以隐藏它们?

美丽的 Günther 给出了正确的提示,请参阅下面的评论。