有谁知道如何在Windows上调试Delphi编写的服务(服务应用程序)?
我正在制作一个 API,从 rclone 获取数据并将其显示在界面上,我想将其制作成 Windows 服务。如果您认为有什么可以帮助我的,我将不胜感激。
std::format_args当我尝试与 一起使用时,出现 stack-use-after-scope 错误std::vformat()。重现它的简单代码是:
#include <format>
#include <iostream>
#include <string>
int main() {
int i = 42;
std::string s = "hello";
std::format_args args = std::make_format_args(i, s);
std::cout << std::vformat("Number: {}, Word: {}", args) << '\n';
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的i和s变量应该仍然在范围内并且不是右值,所以我不确定是什么触发了错误。如果我删除并直接在调用中args调用to ,一切都会按预期进行。我缺少什么?std::make_format_args()std::vformat()
这是我编译上述代码的命令:clang++-17 --std=c++23 -stdlib=libc++ -fsanitize=address fmt.cpp。
我将此字符串放在一个单元格 (A1) 中:
\nApple \xe2\x80\x93 1\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 100\nApple \xe2\x80\x93 1000\nKiwi \xe2\x80\x93 10999\nPeach \xe2\x80\x93 44\nFig \xe2\x80\x93 3/100\nFig \xe2\x80\x93 3/100\nRun Code Online (Sandbox Code Playgroud)\n我需要找到一个可以组合重复条目并对它们的值求和的公式。因此,所需的输出是这样的(也在单个单元格中,比如说 B1):
\nApple \xe2\x80\x93 1001\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 144\nKiwi \xe2\x80\x93 10999\nFig \xe2\x80\x93 6/100\nRun Code Online (Sandbox Code Playgroud)\n我尝试了几个小时,但不知道该怎么做。我尝试的是首先找到独特的价值。到目前为止,没有问题:
\n=UNIQUE(\n ARRAYFORMULA(\n REGEXEXTRACT(\n TRANSPOSE(SPLIT(A1, CHAR(10))),\n "(.*) \xe2\x80\x93 [0-9.]+/?[0-9]?"\n )\n )\n)\nRun Code Online (Sandbox Code Playgroud)\n返回唯一值的数组
\n{"Apple", "Banana", "Cherry", "Peach", "Kiwi", "Fig"}\nRun Code Online (Sandbox Code Playgroud)\n我能想到的最好结果是这个公式,手动使用 Apple 和 Banana:
\n=ARRAYFORMULA(\n {\n "Apple" & " \xe2\x80\x93 " & SUM(\n ARRAYFORMULA(\n IF(\n REGEXMATCH(\n …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种算法来计算给出特定产品的所有可能组合的数量。我有一个完美平方列表 [1,4,9,16,..,n],我有两个值 a, b,其中 a - 我们可以在乘法中使用以获得完美平方的元素数量,b - 最大值例如,如果 a = 3 且 b = 6,则对于完全平方数 36,我们可以有诸如 [1,6,6]、[2,3,6]、[4、 3,3]等等(顺序问题[1,6,6]和[6,6,1]不同)。注意我们不能使用 [1,9,4] 组合,因为 9 > b
我尝试使用 itertools 中的每个完美平方的所有除数的组合,之后我检查了组合的每个乘积,如果 x1 x2 x3 == 36,我在完美平方 = 36 的计数中添加 1。这个算法有效,但它长乘法需要大量时间。
我们能否让它比查看每个完美正方形的每种组合更快?
def get_divisors(n):
result = []
for i in range(1, n//2 + 1):
if n % i == 0:
result.append(i)
result.append(n)
return result
a = 2
b = 3
count = 0
all_squares = [1,4,9]
for i in all_squares:
divisors = get_divisors(i)
for r …Run Code Online (Sandbox Code Playgroud) 令n为正整数,令S为n 个非负整数元组的集合。(例如,如果n为 3,则S可以为 {(1,2,0), (1,0,1)}。)
\n让我们定义一个名为“promote”的操作,它接受一个n 元组的非负整数 ( t 1 , t 2 , \xe2\x80\xa6, t n ),索引i使得t i \xc2\xa0>\ xc2\xa00 和小于i的索引j,并返回相同的n元组,只不过索引j处的值已递增,索引i处的值已递减。例如,如果我们有元组 (1,2,3,4,5),i \xc2\xa0=\xc2\xa05 和j \xc2\xa0=\xc2\xa02,则“promote”将返回 ( 1,3,3,4,4)。
\n我想计算“promote”在我的集合S上的闭包,这意味着我可以通过从S中的一个元素开始并对“promote”进行零次或多次调用(可以选择i和j)来达到的所有元组的集合对于任何给定的呼叫)。例如,如果S是 {(1,2,0), (1,0,1)},那么我想计算集合 {(2,0,0), (1,1,0), (1 ,0,1),(3,0,0),(2,1,0),(1,2,0)}。(例如,我可以通过从 (1,2,0) 开始并使用i \xc2\xa0=\xc2\xa02 和j \xc2\xa0=\xc2\调用“promote”来获得 …
algorithm search functional-programming breadth-first-search digraphs
考虑以下代码:
#include <type_traits>
template<typename T>
struct A1 {
T t;
// implicitly-declared default constructor
};
template<typename T>
struct A2 {
T t;
// explicitly-declared default constructor without noexcept
A2() = default;
};
template<typename T>
struct A3 {
T t;
// explicitly-declared default constructor with noexcept
A3() noexcept(std::is_nothrow_default_constructible<T>::value) = default;
};
Run Code Online (Sandbox Code Playgroud)
这三个默认构造函数在 C++ 中等效吗?
如何将之前为 0001 的字段增加 +1,然后变为 0002?我目前正在使用以下命令:
SELECT fieldA+1
FROM table
WHERE ID = 1234;
Run Code Online (Sandbox Code Playgroud)
但这只是将 0001 变成 2
这是一个非常基本的问题,但我不明白
这是我的结构,它在创建变量时使用隐式转换。
#include <string>
#include <variant>
using namespace std;
using val = variant<int, string, double, bool, long, long long, long double>;
struct value
{
val innerVal;
value():innerVal(""){}
value(const val &c) : innerVal(c) {}
template <typename T>
operator T()
{
return get<T>(innerVal);
}
template <typename V>
value &operator=(const V &t)
{
innerVal = t;
return *this;
}
};
Run Code Online (Sandbox Code Playgroud)
这就是我在构造变量时使用它的方式,它工作正常,但是当我分配一个已经创建的变量来value构造它时,它会给出错误。
int main(int argc, char* argv[])
{
value h;
h = "String";
string m = h;// Here works fine
string b = …Run Code Online (Sandbox Code Playgroud) 我正在试验下面的 Kotlin 代码
fun CharSequence.isMyBlank(): Boolean {
return indices.all { this[it].isWhitespace() }
}
Run Code Online (Sandbox Code Playgroud)
如果我测试它的使用效率如何
@Test
fun testing() {
val timeUsed = measureNanoTime {
repeat(1000) {
" ".isMyBlank()
}
}
println(timeUsed)
}
Run Code Online (Sandbox Code Playgroud)
据报道,使用时间约为 5.6 毫秒。
但是,如果我只是创建自己的indices函数(与 Kotlin 提供的函数相同)
fun CharSequence.isMyBlank(): Boolean {
return indices.all { this[it].isWhitespace() }
}
public val CharSequence.indices: IntRange
get() = 0..length - 1
Run Code Online (Sandbox Code Playgroud)
运行上面相同的测试,结果一致为大约 2 毫秒。
我认为我自己的索引和 Kotlin 提供的索引没有什么不同
public val CharSequence.indices: IntRange
get() = 0..length - 1
Run Code Online (Sandbox Code Playgroud)
为什么拥有我自己的可以使执行速度更快?
我有一个类在它的 init 中接受整数或浮点数,但所有的都必须是整数或浮点数,所以我正在使用它typing.overload来实现这一点,并且我希望能够根据给定的值键入提示函数的返回。
class Vector3:
@overload
def __init__(self, x: int, y: int, z: int) -> None:
...
@overload
def __init__(self, x: float, y: float, z: float) -> None:
...
def __init__(self, x, y, z) -> None:
self._x = x
self._y = y
self._z = z
# This function
def __key(self) -> tuple[int | float, int | float, int | float]:
return (self._x, self._y, self._z)
Run Code Online (Sandbox Code Playgroud)
另外,我如何输入提示 x、y 和 z 的值?我计划用来@property混淆 _x、_y、_z 值,但也不知道如何输入提示它们。
@property
def x(self) -> int …Run Code Online (Sandbox Code Playgroud)