欢迎回到Digilent博客!

本周正好是国家图书馆周,虽然Digilent不是图书馆,但我们当然会使用它们!不过,我指的不是公共图书馆(尽管我个人是它们的粉丝);相反,我谈论的是在微控制器中广泛使用的c++库。尽管c++库并不完全等同于知识产权对于fpga来说,它们也有类似的作用。这些库包括一组预定义的函数,它们执行特定的任务,比如通过SPI发送和接收一组数据,用户可以使用这些函数,而不必定义它们的功能。

c++库有两个主要组成部分:源文件和头文件。头文件(一个.h文件)列出了可用的函数以及库中可能需要使用的任何常量;它是我们在主程序中包含的文件,以便我们能够访问库。源文件(通常是.cpp文件)定义了每个函数在代码中的实际作用,其设置风格与用户在主程序中创建自己的函数的方式非常相似。你可以在我们的多路猜游戏学习模块

通常,用户希望与特定库关联的函数只在他们指定调用时才可访问。否则,您可能有多个库,它们共享一个函数名,比如begin(),它们做的事情略有不同。编译器没有办法告诉你想要使用哪个begin()。为了解决这个问题,c++库每个都有所谓的a与他们有关。用外行人的话说,一个类有点像一个课外俱乐部——只有当你使用他们俱乐部的成员时,你才能访问图书馆的特定功能。幸运的是,创建库类的成员很容易。为PmodJSTK,当你包含它的库(JSTK.h)时,编译器知道这个库有它自己的类,叫做JSTK。你可以在JSTK类中创建一个名为myjostick的成员,如下所示:

创建Class成员的示例
创建类成员的示例。

myjostick成员现在可以访问JSTK库中的所有函数,并可以通过在成员后面输入函数名来使用它们:

类成员使用类函数的示例
使用类函数的类成员示例。

但是如何真正创建一个库呢?如果你已经知道你想要你的库做什么,这并不难。我们需要在一个程序中输入我们的两个文件notepad++这将允许我们以适当的文件类型保存文件。下面是我创建的一个简单的c++库的截图,该库将数字值3添加到你给出的输入参数中:

AddingThree库的头文件示例
AddingThree库的头文件示例。
AddingThree库的源文件示例
AddingThree库的源文件示例。

现在去创建你自己的库吧……或者去访问库。

0
第一个投票。

关于詹姆斯·科尔文

我最喜欢的事情就是学习新东西。特别是涉及某些技术的事情;电脑组件、有趣的小工具、游戏、编码技术等。我喜欢和我的妻子和两个儿子在一起,也喜欢和朋友们在一起。在我的日常工作中,我管理Digilent论坛和北美支持团队。

查看所有由James Colvin→发布的帖子

留下一个回复

您的电子邮件地址将不会被公布。必填字段被标记