Nar*_*aki 12 linux stack gcc compilation
我想知道-mpreferred-stack-boundary在GNU编译器编译期间使用选项有什么用处.我已经检查了文档,但解释丢失了.有人可以解释一下吗.
Emp*_*ian 13
我想知道在GNU调试器的编译过程中使用-mpreferred-stack-boundary选项有什么用.
该选项与调试器完全无关.
它会影响二进制文件中生成的代码.默认情况下,GCC会安排一些事情,以便每个函数在进入后立即将其堆栈指针对齐在16字节边界上(如果您有局部变量并启用sse2指令,这可能很重要).
如果将默认值更改为eg -mpreferred-stack-boundary=2,则GCC会将堆栈指针对齐到4字节边界.这将减少您的例程的堆栈需求,但如果您的代码(或您调用的代码)确实使用sse2,则会崩溃,因此通常不安全.
| 归档时间: |
|
| 查看次数: |
11468 次 |
| 最近记录: |