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

标签 c linux assembly x86

我想知道如何用汇编语言编写一个文本编辑器。但是现代操作系统需要 C 库,特别是对于它们的窗口系统。我找到了这个 page ,这对我帮助很大。

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

最佳答案

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

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

这种方法可以很容易地从已知有效的东西开始进行试验。可以更改C源,看看生成的代码如何变化,也可以从生成的代码入手,自己修改。

关于c - 如何在汇编程序中使用 C 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589793/

相关文章:

c - 使用单遍从链接列表中获取倒数第三个节点

c++ - 查找变量声明的简便方法

C++ include头文件问题

linux - 为什么我的 ffmpeg 进程在没有 subprocess.run 的 stdin 参数的情况下永远等待?

linux - 如何用Fedora16测试汇编语言的LIDT指令?

c - linux内核bootsect.s文件中的 "seg fs"是什么意思

video - 在内核 ASM(NASM 汇编程序)中将视频模式设置为 1920x1080(高清)或更高

c - 字符数组的未定义长度

ruby-on-rails - 在 docker 容器中运行 Rails 应用程序

linux - 安装 iPod 时显示奇怪的 URI 字符串