将自己的函数包含在ANSI C标准库中的过程

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

如何将他/她自己的编程功能包含在标准C(ANSI C)库中?任何正在学习或使用C语言的人都可以随时随地使用这些功能,一般不需要开发。

示例:有人开发了名为“FunFun()”的函数,并假设它为大多数程序员做了出色的工作。那么如何在不开发和仅包含标准库的情况下访问这个“FunFun”功能?

c function ansi standard-library
2个回答
3
投票

理解它的理智方法是开发第三方库,并通过互联网通过开源,Github等提供。

GNU C方言就是这样一个例子,它是GCC编译器使用的非标准编译器扩展的集合。可以加入GCC开源组并尝试在那里添加新功能。它仍然不是标准库C,但GCC扩展通常是C标准的灵感,其中几个(指定的初始化器,灵活的数组成员,匿名结构/联合等)已被C99和语言本身采用。 C11标准。 GNU C的目的之一实际上是作为一个实验性的游乐场,可以在现场尝试新的语言功能。

如果你真的希望在实际的C标准库中添加一个新函数,你必须加入ISO working group并说服他们将该函数添加到该语言中。或者找一个委员会成员并说服他们发言支持新职能。

所有这一切当然假设你是C编程老手,或者没有人会认真对待你。


2
投票

你的问题无法回答,因为它是基于几个错误的假设。

  • stdlib.h这样的东西不是图书馆。它们是要包含在程序中的头文件。包括意味着在实际编译发生之前,内容在字面上粘贴到程序中。它们通常用于声明库提供的函数,类型,全局变量等。然后在编译后链接实际的库。
  • 没有C库这样的东西,也没有C编译器这样的东西。 是一种在开放标准中指定的语言(如果您感兴趣,这里是last draft of the latest standard version C11)。有许多实际的实现,完整的实现至少包括编译器和标准库。您当然可以实现自己的标准库。让它真正符合标准是很多工作(例如,你必须正确地实现printf()scanf())。使用您自己的标准库,您还可以包含自己的扩展,但这只会意味着使用标准库(而不是GNU系统上的glibc)的人可以直接使用它们。
  • 为了在C的任何实现上都有一个函数,有必要让C标准指定它。如果没有一些很好的推理,你将无法在标准中获得新功能。

因此,如果您希望将自己的功能提供给其他人,请执行每个人的操作,并在您自己的库中实现它。用户可以下载它,包括其标题和链接。

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