问题标签 [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.
templates - 如何在 D 中使用“模板构造函数”?
D的模板文档包括一个名为“模板构造函数”的小部分。该部分没有任何示例或大量文档。
我正在尝试使用该功能(我知道我可以只使用“静态构造函数”,但我有理由更喜欢模板构造函数)。
特别是,我试图在编译时生成一些哈希。这是我的尝试:
这不能与 DMD 2.053 一起编译:
它抱怨第一个构造函数。删除后:
考虑到我使用的语法与 MyHash 是模板结构一样,这是非常合乎逻辑的。
那么,有谁知道我如何声明和调用“模板构造函数”?
d - 编译时评估
如果我写
字符串会在编译时连接吗?我假设它会的。如果我用字符串文字或 CTFE 函数替换它,我无法测量任何显着的性能差异(即使调用它一亿次)。如果我用 const 替换枚举,我确实会有所不同。有人告诉我这样写是低效的。我认为这很方便,我没有看到效率低下。(顺便说一句,该行位于递归调用的函数中)。
完整代码(转换为具有不同基数的数字系统)
编辑:更新代码,响应评论,与问题无关
iphone - 运行时与编译时 iPhone 版本检查
[[UIDevice currentDevice] systemVersion]
运行时(例如)和编译时(例如检查)之间有什么区别__IPHONE_OS_VERSION_MIN_REQUIRED
?你什么时候应该在另一个之上?
只是__IPHONE_OS_VERSION_MIN_REQUIRED
在构建设置中设置了一个变量吗?
我已阅读如何定位特定 iPhone 版本的答案?以及下面列出的其他相关问题。
但是,我刚刚注意到,__IPHONE_OS_VERSION_MIN_REQUIRED = 30200
当我使用 Xcode 4 在 iPhone (4.3.1) 上构建和运行时。为什么?
当您将代码提交给 Apple 时,他们是否会为存在的每个 iPhone 版本编译一个版本,并进行__IPHONE_OS_VERSION_MIN_REQUIRED
相应设置?
这样,您可以检查__IPHONE_OS_VERSION_MIN_REQUIRED
并知道运行代码的 iOS 版本。
相关问题:
haskell - 使用 GHC Haskell 进行编译时断言?
来自 C++,我习惯于构建简单形式的编译时断言,如果使用模板元不满足某些简单条件(例如,通过简单的代数表达式),我可以在编译期间发出警告或错误- 编程和/或cpp(1)
例如,如果我想确保我的程序仅Int
在至少具有某个minBound
/maxBound
范围时编译,或者,如果当前编译目标可以从Int64
to进行无损失(如可逆)转换。Int
这可以通过一些 GHC Haskell 扩展来实现吗?我的第一个猜测是使用 TH。是否有其他 GHC 设施可用于此目的?
ios - 编译时信息在运行时可用吗?
在 iOS 中,一个不错的选择是一个关于页面,其中包含应用程序的“发布日期”......我宁愿不必手动更新。有什么方法可以收集应用程序的编译日期吗?预处理器,或检查应用程序,还是我想不到的东西?
c++ - 在编译时加密/混淆字符串文字
我想在编译时加密/编码一个字符串,以便原始字符串不会出现在编译的可执行文件中。
我看过几个例子,但它们不能将字符串文字作为参数。请参见以下示例:
我不想像它那样单独提供每个字符。我的目标是传递如下字符串文字:
还有一些像这样的例子:
但它限制了字符串的大小。
有什么方法可以实现我想要的吗?
c# - C# 固定字符串长度 - 编译时检查
我想声明一个 C# 值类型,它只允许特定长度的字符串。所述长度应在编译时进行验证。这在 Delphi 中是可行的:
如果我使用所说的 tyoe 作为:
现在据我了解,您不能在 C# 中声明固定长度的字符串类型。我见过的各种解决方案不提供C# 的编译时检查。当我准备声明自己的 C# 值类型结构时,这是我可以实现的.Format()
吗?
非常感谢所有帮助和指示。
PS。我真的很想实现字符串长度分配的编译时检查,所以请不要“你为什么......?”
c++ - 初始化值是在编译时还是运行时计算的?
如果我有一个使用该rand()
函数作为其初始化值的函数,该值会在程序编译时找到,还是在函数运行时找到?
说:
如果在编译时发现它,我怎样才能让初始化是动态的?我想我会NULL
用作初始化值,但我怎么区分NULL
和init = 0
?
java - 程序可以在编译期间依赖库而不是运行时吗?
我了解运行时和编译时之间的区别以及如何区分两者,但我只是不认为需要区分编译时和运行时依赖项。
我哽咽的是:程序如何在运行时不依赖它在编译期间依赖的东西?如果我的 Java 应用程序使用 log4j,那么它需要 log4j.jar 文件才能编译(我的代码与 log4j 内部的成员方法集成并调用成员方法)以及运行时(我的代码完全无法控制 log4j 内部的代码会发生什么.jar 运行)。
我正在阅读 Ivy 和 Maven 等依赖关系解析工具,这些工具清楚地区分了这两种类型的依赖关系。我只是不明白它的必要性。
任何人都可以给出一个简单的“国王英语”式的解释,最好是一个即使像我这样可怜的sap也能理解的实际例子?
c++ - 多次包含头文件会导致更长的编译时间?
多次包含相同的头文件会增加编译时间吗?
例如,假设我的项目中的每个文件都使用<iostream>
<string>
<vector>
和<algorithm>
. 如果我在源代码中包含很多文件,那会增加编译时间吗?
我一直认为保护标头具有避免双重定义的重要目的,但作为副产品也消除了双重代码。
实际上,我认识的某个人提出了一些想法来删除这种多重夹杂物。但是,我认为它们完全违背了 c++ 中的良好设计实践。但仍然想知道他提出这些更改的原因可能是什么?