API是如何制作的? [关闭]

问题描述 投票:-2回答:1

其实我在问,如何使用C ++从头开始创建像SFML这样的库?

我错误地将库误认为API,

我无意中重复了这个问题,这里是它的链接:

How create a library?

c++ api
1个回答
4
投票

在实践中,API只是某些现有(参考或样本)实现的文档化界面。

理论上,人们可以抽象地设计API。在没有任何实现的情况下实际执行此操作是一个代价高昂的错误(因为没有实现,您将不会考虑很多细节)。

另请阅读undefined behavior

请注意,纯标准C++11没有提供与外界交互的太多内容:C ++ 11标准不了解目录,键盘,鼠标,屏幕,声音,网络,GUI等。您的操作系统可能具有更多相关的附加特定库。了解有关POSIX的更多信息,可以将其理解为操作系统服务的standardized API(遗憾的是,MicroSoft销售的一些专有操作系统本身并不符合POSIX标准;据传,您可能会在其Windows操作系统中购买一些类似POSIX的界面,拥有Windows API)。

如果要实现某些功能,则需要熟悉目标平台,即要支持的操作系统。对于Linux,开始阅读Advanced Linux Programmingintro(2)syscalls(2)intro(3)等...并详细研究与您的目标相关的free software实现的源代码(参见例如sourceforge ......)。

如果您想要跨平台(例如能够在Linux和MacOSX上编译相同的代码),更好地利用和利用现有的跨平台框架,如QtPOCO,或(如果它们与您的需求相关)libsdl或者SFML。这些框架使用一些特定于操作系统的API(并尝试在它们之上定义一些常见的抽象)。

PS。在实践中,设计一个好的API是一项困难的艺术。记录它是必不可少的。如果可能的话,让你的实现免费软件,并尝试获得建议和帮助。

© www.soinside.com 2019 - 2024. All rights reserved.