如何在汇编程序中使用C库?

use*_*462 4 c linux x86 assembly

我想知道如何在汇编程序中编写文本编辑器.但是现代操作系统需要C库,特别是它们的窗口系统.我找到了这个页面,这对我帮助很大.

但我想知道是否有我应该知道的细节.我知道有足够的汇编程序来编写将使用GTK +在Linux中使用Windows的程序,但我希望能够理解我要发送给函数的内容,使其成为有效的输入,以便更容易使用所有C库.对于C和x86汇编程序之间的接口,我知道可以从这个页面学到什么,而其他的东西.

Gre*_*ill 8

学习如何从汇编程序调用C的最有指导性的方法之一是:

  1. 编写一个调用感兴趣的C函数的C程序
  2. 编译它,看看汇编列表(gcc -S)

这种方法可以通过从已知的工作开始进行实验.您可以更改C源并查看生成的代码如何更改,您可以从生成的代码开始并自行修改.


Rom*_*Rom 1

  1. 将参数压入堆栈
  2. 调用函数
  3. 清除堆栈

您问题中的链接显示了所有这些步骤。