小编Hel*_*mer的帖子

<format> 标头未找到 (C++)

我想使用新的 C++20<format>头文件。但是当我尝试#include它时,它显然不存在于我当前的 stdlib 中。

我尝试使用 clang++ 和 g++,但它们都不起作用。

是的,我tasks.json在 VSCode的文件中将C++ 标准指定为“c++2a” 。

我究竟做错了什么?

c++ c++20

5
推荐指数
1
解决办法
4204
查看次数

python中优雅的多维循环

我想计算三个整数的平方和可以表示哪些整数。在我的情况下,直到 i,j,k 都等于 4。我为此目的使用的(不优雅的)代码如下:

nums = []
for i in range(4):
    for j in range(4):
        for k in range(4):
            nums.append(i*i + j*j + k*k)
Run Code Online (Sandbox Code Playgroud)

这个问题有更pythonic或更优雅的解决方案吗?理想情况下,对于尽可能多的变量 (i, j, k, ..., n)。

python

0
推荐指数
1
解决办法
62
查看次数

为什么 GCC 为 C 数组分配太多堆栈空间

考虑以下程序:

int main()
{
   int arr[8];
}
Run Code Online (Sandbox Code Playgroud)

在 linux 20 上使用 gcc 9.3.0 编译时,文件的反汇编一开始看起来像这样(这不是上面代码的整个汇编!):

? 72: int dbg.main (int argc, char **argv, char **envp);
?           ; var int[8] arr @ rbp-0x30
?           ; var int64_t canary @ rbp-0x8
?           0x00001169      f30f1efa       endbr64                     ; test.c:2 { ; int main();
?           0x0000116d      55             push rbp
?           0x0000116e      4889e5         mov rbp, rsp
?           0x00001171      4883ec30       sub rsp, 0x30
Run Code Online (Sandbox Code Playgroud)

arr只有 8 个整数 = 8 * 4 个字节长 ( sub rsp, 0x30)时,为什么汇编程序在堆栈上分配 …

c assembly gcc callstack x86-64

-1
推荐指数
1
解决办法
112
查看次数

标签 统计

assembly ×1

c ×1

c++ ×1

c++20 ×1

callstack ×1

gcc ×1

python ×1

x86-64 ×1