linux – 如何在x86程序集中调用fgets?
发布时间:2020-12-14 00:44:30 所属栏目:Linux 来源:网络整理
导读:根据 the documentation for fgets() ,该函数有三个参数: char * – 一个保存输入的字符串 int – 一个整数,表示要读取的最大字符数 FILE * – 要读取的流的FILE * 我可以轻松调用该函数.我只需将三个参数压入堆栈,调用该函数,并将ESP增加12. 我的问题是参
根据
the documentation for
fgets() ,该函数有三个参数:
> char * – 一个保存输入的字符串 我可以轻松调用该函数.我只需将三个参数压入堆栈,调用该函数,并将ESP增加12. 我的问题是参数#3.作为标准输入的FILE *应该传递什么?在C中,我可以使用stdin,但我不知道x86程序集中的等价物是什么. 更新:我在Linux上使用NASM. 解决方法
stdin的问题在于它是一个宏,它不仅扩展到特定于平台的东西,而且很可能很难从手工装配中访问.如果您愿意牺牲stdio并使用POSIX调用,则stdin与众所周知的文件描述符#0相同.因此,你可以传递0到
read ,几乎可以得到你想要的东西.我很确定这比stdin C宏更易于汇编.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Bitlocker相当于Linux
- java – 0MQ – JZMQ链接错误不满意
- linux – 确定IP头的大小.为什么它与其他人不同?
- linux – 即使需要pam_limits.so,ulimit也不会读取打开文件
- haskell – 使用ghc 7.0.4在基于redhat的linux上安装active
- GLib-2.2.1 && glib、GTK+ 官网及下载地址
- linux – ldap_add没有这样的对象(32)匹配dn dc = domain d
- linux – 无法挂载磁盘(VFS:找不到ext4文件系统)
- linux下添加用户和用户组,并且有sudo权限
- Linux内核v2.6中的pthread与kthread