有没有一种方法可以定义具有不同名称的实现的函数?

充满希望

我在标头中有一个函数,其余代码才能实现。通常,main.c在包含标头之后,我将在其中实现此功能,链接器将清除其余部分。

例如,假设此函数void foo(bool);位于foo.h

如果我有另一个功能实现的,任务相匹配一些其他的代码部分完全相同比方说,void bar(bool);在一些实施bar.hbar.c

我通常会通过包括bar.h和做这两种方式将两者联系起来

void foo(bool var) {
    bar(var);
}

如果有很多的话,基本上就是很多单行函数来告诉函数调用另一个函数。

有没有其他方法可以做到这一点?

emacs让我发疯
void foo(bool var) {
    bar(var);
}

该函数要么是全局函数,要么不是全局函数。您必须做出决定;你们不能两者兼得。

如果它只是头文件中的包装器,则可以使其静态内联:

// bar.h
static inline void foo (bool var)
{
    bar (var);
}

应该清楚的是,您不能与一起使用不同的定义/声明foo.h

如果你只是想这就是所谓的功能foo来使用bar的程序集名称,那么您可以使用来自GNU-C以下C的扩展:

// bar.h
void foo (bool) __asm ("bar");

这意味着bar将是的程序集名称foo这可以避免额外的呼叫步骤。当然,这也不能与的定义/声明冲突foo还要注意,您可能必须调整程序集名称,例如,i386平台通常使用前导_(下划线),以便您必须使用程序集名称_bar对于C ++,您需要使用乱码。

底线:在每个编译单元(模块)中,您必须决定foo要使用的实现方式,并取决于此实现,包括foo.h或冲突bar.h

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以定义bash readline命令?

来自分类Dev

有没有一种方法可以实现具有不同签名的特征方法?

来自分类Dev

Kotlin-有没有一种方法可以定义函数的显式范围,而该函数的范围是在伴随对象中定义的接收器?

来自分类Dev

C#:有没有一种方法可以定义未知等级的方法数组参数?

来自分类Dev

有没有一种方法可以定义create_resources之间的关系

来自分类Dev

有没有一种方法可以定义仅取消隐藏启动器的热键?

来自分类Dev

养蜂场:有没有一种方法可以定义参数选项?

来自分类Dev

有没有一种方法可以组合多个特征以定义新特征?

来自分类Dev

有没有一种方法可以定义仅取消隐藏启动器的热键?

来自分类Dev

有没有一种方法可以定期运行非void python函数?

来自分类Dev

有没有一种方法可以在API网址中定义表名称

来自分类Dev

有没有一种方法可以直接在字典中定义函数?

来自分类Dev

没有index_together元选项,有没有一种方法可以定义多字段索引?

来自分类Dev

有没有一种方法可以在类名称与全局函数相同的方法中调用全局函数?

来自分类Dev

有没有一种方法可以绘制具有不同(交替)高度的轴值?

来自分类Dev

有没有一种方法可以获取具有set方法的属性?

来自分类Dev

有没有一种方法可以为不同的std :: array定义函数而无需定义模板函数?

来自分类Dev

有没有一种方法可以在python 3.8.6中为每个函数创建具有通用名称的多个对象

来自分类Dev

有没有一种方法可以按名称查询DbSet的名称属性?

来自分类Dev

有没有一种方法可以在bash脚本中的awk语句中定义用户定义的函数?

来自分类Dev

有没有一种方法可以在熊猫聚合函数中创建自定义函数?

来自分类Dev

有没有一种方法可以保存带有参数的函数调用?

来自分类Dev

有没有一种方法可以保存带有参数的函数调用?

来自分类Dev

有没有一种方法可以将字段名称传递给setter函数?

来自分类Dev

有没有一种方法可以让您找出正在调用的函数的哪个/名称?

来自分类Dev

有没有一种方法可以在JAVAFX上实现“呈现”之类的属性?

来自分类Dev

有没有一种方法可以在Python中实现全局计算属性?

来自分类Dev

有没有一种方法可以隐式类覆盖默认实现

来自分类Dev

有没有一种方法可以实现对express.js的速率限制?

Related 相关文章

  1. 1

    有没有一种方法可以定义bash readline命令?

  2. 2

    有没有一种方法可以实现具有不同签名的特征方法?

  3. 3

    Kotlin-有没有一种方法可以定义函数的显式范围,而该函数的范围是在伴随对象中定义的接收器?

  4. 4

    C#:有没有一种方法可以定义未知等级的方法数组参数?

  5. 5

    有没有一种方法可以定义create_resources之间的关系

  6. 6

    有没有一种方法可以定义仅取消隐藏启动器的热键?

  7. 7

    养蜂场:有没有一种方法可以定义参数选项?

  8. 8

    有没有一种方法可以组合多个特征以定义新特征?

  9. 9

    有没有一种方法可以定义仅取消隐藏启动器的热键?

  10. 10

    有没有一种方法可以定期运行非void python函数?

  11. 11

    有没有一种方法可以在API网址中定义表名称

  12. 12

    有没有一种方法可以直接在字典中定义函数?

  13. 13

    没有index_together元选项,有没有一种方法可以定义多字段索引?

  14. 14

    有没有一种方法可以在类名称与全局函数相同的方法中调用全局函数?

  15. 15

    有没有一种方法可以绘制具有不同(交替)高度的轴值?

  16. 16

    有没有一种方法可以获取具有set方法的属性?

  17. 17

    有没有一种方法可以为不同的std :: array定义函数而无需定义模板函数?

  18. 18

    有没有一种方法可以在python 3.8.6中为每个函数创建具有通用名称的多个对象

  19. 19

    有没有一种方法可以按名称查询DbSet的名称属性?

  20. 20

    有没有一种方法可以在bash脚本中的awk语句中定义用户定义的函数?

  21. 21

    有没有一种方法可以在熊猫聚合函数中创建自定义函数?

  22. 22

    有没有一种方法可以保存带有参数的函数调用?

  23. 23

    有没有一种方法可以保存带有参数的函数调用?

  24. 24

    有没有一种方法可以将字段名称传递给setter函数?

  25. 25

    有没有一种方法可以让您找出正在调用的函数的哪个/名称?

  26. 26

    有没有一种方法可以在JAVAFX上实现“呈现”之类的属性?

  27. 27

    有没有一种方法可以在Python中实现全局计算属性?

  28. 28

    有没有一种方法可以隐式类覆盖默认实现

  29. 29

    有没有一种方法可以实现对express.js的速率限制?

热门标签

归档