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

时间:2017-06-12 07:28:51

标签: c function ansi standard-library

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

示例:有人开发了名为" FunFun()"并假设它为大多数程序员做了出色的工作。所以任何人都可以访问这个" FunFun"功能没有开发,只包括标准库?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

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

  • stdlib.h之类的内容是不是库。它们是头文件,旨在包含在您的程序中。包括意味着在实际编译发生之前,内容是字面上粘贴到包含点的程序中。它们通常用于声明函数,类型,全局变量等库提供的功能。然后在编译后将实际的库与链接

  • 没有 C库这样的东西,也没有 C编译器这样的东西。 是一种在开放标准中指定的语言(如果您有兴趣,这里是last draft of the latest standard version C11)。有许多实际的实现,完整的实现至少包括编译器和标准库。 可以当然可以实现您自己的标准库。让它真正符合标准是很多工作(例如,你必须正确实现printf()scanf())。使用您自己的标准库,您还可以包含自己的扩展,但这只会意味着人们在GNU上使用您的标准库(而不是glibc系统)可以直接使用它们。

  • 为了在任何 C实现上提供一个函数,有必要让 C标准指定它。如果没有一些非常良好的推理,你将无法在标准中获得新功能。

因此,如果您想让其他人可以使用您自己的功能,请执行每个人的操作,只需在您自己的库中实现它。用户可以下载它,<​​em>包含其标题并链接到它。