gpt4 book ai didi

c - 如何在 Mac 上从 C 访问 macOS API 调用?

转载 作者:太空宇宙 更新时间:2023-11-04 05:33:29 26 4
gpt4 key购买 nike

我需要从 C 编程语言访问 macOS API 调用,而不是通过 Swift 或 Objective-C。与 Windows 环境的比较是,在 Windows 上,我可以访问像 CreateFile() 这样的调用, HeapAlloc() , WriteProcessMemory() , VirtualAlloc()等等... 通过简单地 #include <windows.h>

如何在 macOS Sierra 或 High Sierra 上做类似的事情?请注意,我不需要创建 GUI 应用程序。我只需要访问一些类似于 Windows API 的低级函数。

谢谢。

最佳答案

macOS 的核心是类 UNIX 操作系统。它的低级 API 调用通常类似于 Linux 或其他类 UNIX 操作系统上可用的调用——例如,您可以使用 open() 与文件交互。 , read() , 和 write() ,您可以使用 malloc() 分配内存和 free() ,或在较低级别使用 mmap()munmap() .

直接相当于 Windows 的 WriteProcessMemory()有点难得到。您最好的选择是像 vm_read() 这样的 Mach API和 vm_write() . (macOS 没有 Linux 上的 /proc/<pid>/mem 接口(interface),其版本的 ptrace() 接口(interface)在功能上相当有限。)请记住,如果 System Integrity Protection 某些系统进程可能无法调试。已启用。

关于c - 如何在 Mac 上从 C 访问 macOS API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50311153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com