小编Ano*_*alc的帖子

_IO_puts 和动态指令计数

我是汇编新手,有一个简单的 C 程序将字符串打印到标准输出。在汇编中,这转化为main调用_IO_Puts. _IO_puts下面给出了以下实现:https: //code.woboq.org/userspace/glibc/libio/ioputs.c.html

int
_IO_puts (const char *str)
{
  int result = EOF;
  size_t len = strlen (str);
  _IO_acquire_lock (stdout);
  if ((_IO_vtable_offset (stdout) != 0
       || _IO_fwide (stdout, -1) == -1)
      && _IO_sputn (stdout, str, len) == len
      && _IO_putc_unlocked ('\n', stdout) != EOF)
    result = MIN (INT_MAX, len + 1);
  _IO_release_lock (stdout);
  return result;
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么动态指令的数量会发生变化,有时会随着模拟 MIPS 处理器上字符串长度的增加而减少?

c assembly mips

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

标签 统计

assembly ×1

c ×1

mips ×1