我想用C实现一个可微函数。本质上,它是一个有两个函数指针的结构体。一个用来计算函数值,另一个用来计算它的微分。结构在头文件中声明。理想情况下,我的应用程序应该只知道这个接口:对象是一个带有两个函数指针的结构体,这些函数将一个double
转换为另一个double
。
问题是我不知道如何正确地为我的程序提供这个接口的一个实现(或多个实现)。我有五个可微函数,我需要在运行时在它们之间切换。我也可以决定在未来使用更多或更少的。在Java中,我只需要import
接口及其实现(可能是整个包),它将确保类型安全,未使用的导入不会影响性能。但是在C语言中我不能只包含我想要的东西,因为它会被复制到程序中。我也不想在我的Makefile中更改编译命令,因为它没有显式地反映在我的代码中。
内存使用和性能并不像可读性和模块化那么重要。我并不坚持我的方法是基本正确的,我愿意改变它。在C语言中有没有一种传统的方法来解决这样的问题?
1条答案
按热度按时间mo49yndu1#
本质上,它是一个有两个函数指针的结构体。一个用来计算函数值,另一个用来计算它的微分。
字符串
问题是我不知道如何正确地为我的程序提供这个接口的一个实现(或多个实现)。
型
演示:
型