问题标签 [compile-time]

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 投票
4 回答
3191 浏览

c - C 预处理器是否能够逐字符处理字符串?

我想在编译时隐藏字符串。我知道它可以在其他预处理器中完成,但我还没有找到使用C预处理器执行此操作的方法。

0 投票
2 回答
369 浏览

flash - 如何为每个按钮动态创建按钮操作 - 第 2 部分

你好,闪光的朋友们:)

我在 StackOverFlow 提出的第一个问题就是处理这个问题,我有一个数组,它创建了几个不同的按钮。但是我不知道如何为它们分配操作: 如何为每个按钮动态创建按钮操作 - 第 1 部分

感谢Joel Hooks,我能够让我的代码正常工作。然而这一次,我没有将导入的图形用作我的库中的类,而是通过绘制渐变*(不需要导入 jpg)*来创建影片剪辑。现在我又遇到了另一个可怕的“非编译时间常数”错误。我相信这与我如何尝试确定单击或翻转的按钮实例有关。

上一个按钮创建(工作)代码:

for (var i:Number=0; i < myXMLArray.length; i++) { navButton=new NavButton ; navButton.name="按钮" + i; navButton.x=i * navSIZE; navButton.y=navBtnY; navButton.buttonMode=true; thumbsMov.addChild(navButton);

按钮.push(navButton); 按钮[i].addEventListener(MouseEvent.MOUSE_UP,handleButtonClick); 按钮[i].addEventListener(MouseEvent.ROLL_OVER,handleButtonOver); 按钮[i].addEventListener(MouseEvent.ROLL_OUT,handleButtonOff); }

以前的侦听器(工作)代码:

var button:NavButton = event.target as NavButton; var id:Number = Number(button.name.split("button") 1 ); if(button) TweenLite.to(buttonRolls[id], .4, {alpha:1, ease:Strong.easeOut}); cataText[id].defaultTextFormat = a12Green; cataText[id].text = myXMLArray[id].id; }

当前按钮创建代码:

}

当前按钮侦听器代码:

}

只有在注释掉以下行时,当前电影才会正常运行:

因为这就是导致出现非编译时间常数错误的原因。但是,通过删除该行,所有按钮都是 button1,而不是动态创建的 2 个名为 button0 和 button1 的按钮。

此处的任何帮助或指示将不胜感激!提前感谢您查看我的代码。

0 投票
8 回答
1597 浏览

java - 用于区分运行时类型和编译时类型的 Java 术语

在 Java 中,anObject可以有一个运行时类型(它被创建为什么)和一个转换类型(您将它转换为的类型)。

我想知道这些类型的正确名称是什么。例如

a 被创建为 aB但是它被声明为 a A。指代a使用每个视角的类型的正确方法是什么?

0 投票
7 回答
7009 浏览

java - 编译时无限循环?

是否可以在编译时进入无限循环?

当我尝试编译时,我的程序似乎进入了无限循环。我有一个带有类构造函数的类,它调用方法 gameRun()。gameRun() 在执行结束时调用自己,但应该有适当的检查才能在运行时中断它......但是当我尝试编译该类时,我实际上似乎得到了一个无限循环。

我对编译的理解是它实际上并没有执行代码......这意味着除非编译器的源代码中确实存在严重的错误,否则不可能进入无限循环。它是否正确?

我正在用 Java 编写代码,并且正在使用 BlueJ(我正在从中成长的初学者 IDE)作为我的 IDE。

提前致谢。

.....................................

感谢大家提供这么多有用的回复。只是想我会发布一个更新,因为这似乎引起了一些兴趣,我自己也很好奇。

自从我发布原始错误以来,我并没有对 BlueJ 或这个错误做很多事情,因为我已经从项目中获取了源文件,并且能够成功地用 eclipse 编译和运行它们。这向我表明这是一个 BlueJ(或相关)问题。我继续使用 eclipse 进行这个项目,没有任何这种性质的问题。当我能够再次使用带有原始项目的机器时,我将跟进有关该问题的更多详细信息。(从那以后什么都不应该改变)

.....................................

作为事后的想法......有什么办法可以将此问题链接到自发布以来我创建并注册的帐户?我找不到一种方法来做到这一点,它会使跟踪这个更方便......

0 投票
2 回答
3251 浏览

c# - 字符串常量的 C# 编译时连接

C# 是否对常量字符串连接进行任何编译时优化?如果是这样,我的代码必须如何编写才能利用这一点?

示例:这些在运行时如何比较?

0 投票
5 回答
25972 浏览

c++ - 什么是编译时多态性,为什么它只适用于函数?

什么是编译时多态性,为什么它只适用于函数?

0 投票
5 回答
5504 浏览

c++ - C++ 编译时整数变量的最小值和最大值

是否有一种简单、干净的方法可以在编译时确定某个(否则目前未知)整数变量或类型的变量的最大值和最小值?使用模板?

例如:

0 投票
3 回答
8141 浏览

java - 编译日期和时间

是否存在与 C 和 C++ 编译时常量 __DATE__ 和 __TIME__ 等效的 Java。我需要打印正在编译的程序的编译时间和版本信息。

谢谢

kodev19

0 投票
10 回答
13748 浏览

c++ - 使用 std::map其中 V 没有可用的默认构造函数

我有一个符号表实现为std::map. 对于值,没有办法通过默认构造函数合法地构造值类型的实例。但是,如果我不提供默认构造函数,则会出现编译器错误,并且如果我使构造函数断言,我的程序编译得很好,但map<K,V>::operator []如果我尝试使用它来添加新成员,则会在内部崩溃。

有没有办法让 C++map[k]在编译时禁止作为左值(同时允许它作为右值)?


顺便说一句:我知道我可以使用Map.insert(map<K,V>::value_type(k,v)).


编辑:有几个人提出了相当于改变值类型的解决方案,以便地图可以在不调用默认构造函数的情况下构造一个。这与我想要的结果完全相反,因为它将错误隐藏到以后。如果我愿意,我可以简单地从构造函数中删除断言。我想要的是让错误发生得更快;在编译时。但是,似乎没有办法区分 r-value 和 l-value 的使用,operator[]所以我想要的似乎无法完成,所以我只需要放弃一起使用它。

0 投票
6 回答
8368 浏览

c - 常量表达式的数学函数是否在编译时预先计算?

为了方便和连贯,我倾向于使用常量表达式的数学函数(即log(x)/log(2),而不是log(x)/0.3...)。由于这些函数实际上并不是语言本身的一部分,因此它们也没有定义math.h(仅声明),常量函数会在编译时预先计算,还是会在运行时被浪费地计算?