|
|
1
2
必须在BSS部分声明缓冲区,并在数据中声明bufsize
|
|
|
2
8
哦,这会很有趣的。 程序集语言没有变量。这是一个更高级的语言结构。在汇编语言中,如果需要变量,可以自己生成。上坡。两种方式。在雪地里。 如果需要缓冲区,则必须使用堆栈的某个区域作为缓冲区(在调用适当的堆栈帧设置指令之后),或者使用堆上的某个区域。如果您的堆太小,您将不得不发出一个系统调用指令(另一个int 80h)来请求操作系统提供更多(通过sbrk)。 另一种选择是学习ELF格式,并在适当的部分创建一个全局变量(我认为是.data)。 任何这些方法的最终结果都是可以使用的内存位置。但是你唯一真正的“变量”,就像你从现在美妙的C世界习惯的那样,是你的寄存器。而且它们的数量也不多。 汇编程序可能会帮助您使用有用的宏。阅读汇编程序文档;我不记得它们在我的头上。 在ASM层面上,生活是艰难的。 |
|
|
3
0
调用open之后,文件句柄位于eax中。您正确地将eax移到ebx,在那里read调用将查找它。不幸的是,此时您已经用3(用于读取的系统调用)覆盖了它。 |
|
|
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 3 年前 |
|
|
ilteris · 为什么程序在fscanf后崩溃 3 年前 |
|
Peaceful · 使用fscanf读取C中具有未知行数的文件 3 年前 |
|
|
NOCi · 如何将Tensorflow的结果记录到CSV文件 3 年前 |
|
|
Oakzeh · 如何在字符串索引之前读取文件并删除字符 3 年前 |