|
|
1
6
我同意在编译时不能通过宏或模板使用字符串。所以…不要使用字符串。 这是一个丑陋的黑客,但我认为它符合你的所有要求。我不推荐。
|
|
|
2
2
我相对确定用宏是不可能的。 使用模板元编程可能是可能的,但我从未接近过它。 也可以使用预构建脚本,用所需的文本替换svn-to-int。 不过,我不明白您为什么要这样做,因为硬编码版本号和编译时知道的版本号一样容易。 |
|
|
3
2
在编译时,您不能用C预处理器(宏)或模板(C++)来进行字符串操作。您需要使用一个外部实用程序或脚本,您可以从构建过程中调用它。 一些实用程序/脚本/代码可能会帮助您: |
|
|
4
2
我的解决方案是
|
|
|
5
1
您不能在预处理或编译时完全处理字符串,但为什么不使用类似以下的内容:
|
|
|
6
1
我同意宏是不可行的,但是,我发现了一个使用编译器优化的技巧。 结果是,表达式jl_svnrevpoint(“$revision:12345$”)被简化为一个无符号整数:12345。
它支持9位修订号、空值和“$revision$”字符串。 |
|
|
7
1
如果你有
|
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |