gpt4 book ai didi

c - __strcpy_sse2_unaligned 与 -fno-builtin

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:08 25 4
gpt4 key购买 nike

我正在调试我的程序,然后发生了最后一行,我该如何解决?我使用 -fno-builtin 查看了 strcpy() 但它显示正在调用 __strcpy_sse2_unaligned

root@19:~/booksrc# gcc -fno-builtin -g char_array2.c
root@19:~/booksrc# gdb -q ./a.out
Reading symbols from ./a.out...done.
(gdb) list
1 #include <stdio.h>
2 #include <string.h>
3
4 int main() {
5 char str_a[20];
6
7 strcpy(str_a, "Hello World!\n");
8 printf(str_a);
9 }
(gdb) break 6
Breakpoint 1 at 0x708: file char_array2.c, line 6.
(gdb) break strcpy
Breakpoint 2 at 0x5a0
(gdb) break 8
Breakpoint 3 at 0x71b: file char_array2.c, line 8.
(gdb) run
Starting program: /root/booksrc/a.out

Breakpoint 1, main () at char_array2.c:7
7 strcpy(str_a, "Hello World!\n");
(gdb) cont
Continuing.

Breakpoint 2, __strcpy_sse2_unaligned ()
at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:47
47 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: No such file or directory.

最佳答案

__strcpy_sse2_unaligned 是您机器上使用的 strcpy 的实现。 glibc 使用 IFUNC resolver 自动选择基于 CPU 特性的优化实现。 .

这与 GCC 和 GCC 内置插件无关。 GCC 发出对 strcpy 的调用。只是 glibc 恰好调用了它 __strcpy_sse2_unaligned 的函数。

关于c - __strcpy_sse2_unaligned 与 -fno-builtin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47119328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com