为什么 T* 可以传入寄存器,而 unique_ptr<T> 不能?
作者:einpoklum 提问时间:10/11/2019
我正在观看 Chandler Carruth 在 CppCon 2019 上的演讲: 没有零成本抽象 在其中,他举了一个例子,说明他对使用一个 over an 会产生多少开销感到惊讶;该段大约在 ...
调用约定 问答列表
作者:einpoklum 提问时间:10/11/2019
我正在观看 Chandler Carruth 在 CppCon 2019 上的演讲: 没有零成本抽象 在其中,他举了一个例子,说明他对使用一个 over an 会产生多少开销感到惊讶;该段大约在 ...
作者:pesotsan 提问时间:4/24/2022
我正在阅读 Linux 64 系统中的“开始 x64 汇编编程”一书。我正在使用 NASM 和 gcc。 在关于浮点运算的章节中,本书指定了以下用于添加 2 个浮点数的代码。在这本书和其他在线资源中,...
作者:Dr. Gut 提问时间:1/8/2020
请看以下示例: struct vector { int size() const; bool empty() const; }; bool vector::empty() const { r...
作者:einpoklum 提问时间:10/11/2019
我正在观看 Chandler Carruth 在 CppCon 2019 上的演讲: 没有零成本抽象 在其中,他举了一个例子,说明他对使用一个 over an 会产生多少开销感到惊讶;该段大约在 ...
作者:John Alway 提问时间:12/8/2020
我正在将Visual Studio 2019与C++一起使用。 我正在尝试将用 C 代码(不是我)编写的 32 位 DLL 加载到我的 C++ 应用程序中。dll 叫做 SDL_mixer.dll(...
作者:Xiaoyong Guo 提问时间:1/22/2021
我正在尝试理解在 C++/Linux/x86-64 平台中按值传递对象作为函数参数的开销。 我用于探索的实验代码发布在下面和 godbolt.org 上:https://godbolt.org/z/...
作者:1111 B 提问时间:12/2/2022
global mymul mymul: mov rax, rdi mul rsi ret #include <stdio.h> typedef struct { unsigned lon...
作者:Xiaoyong Guo 提问时间:7/13/2023
我正在阅读此页面 Linux x64 调用约定,但对通过寄存器和堆栈传递函数参数感到困惑。它说: 参数 1-6 在修改之前通过寄存器 RDI、RSI、RDX、RCX、R8、R9 访问,或者通过 RB...
作者:Vincent_Matthew 提问时间:10/16/2023
我正在为 raspberry pi 4 32 位编写 ARM 代码。我需要让用户输入两个有符号的 int 值,然后使用这些值来计算运算 add、mul 和 orr 并输出到屏幕。当我运行程序时,每次操...
作者:resu 提问时间:11/4/2023
我有一个微不足道的,它代表了 std::int8_t 的类型安全包装器。 已简化为表示最小的可重现问题。struct AA 出于性能原因,在此示例中将 struct 作为参数传递时,结构应遵循与 b...