文章目录

  • C如何引用别的文件中的static函数
    • 如果是static函数呢?
    • 缺点是我必须在haha中使用my_static,有时候你可能不想立即使用my_static
    • 试验一下
    • 这样就可以在主函数中随便啥时候调用my_static了
    • 结论:你还得在static所在的文件里面搞点小动作才可以实现在别的文件里调用它。哎,苦哦!

C如何引用别的文件中的static函数

(1.cpp)
#include <stdio.h>
#include "2.h"
void main()
{my();
}
(2.cpp)
#include "2.h"
#include <stdio.h>
void  my()
{printf("我是外边的的函数,我被调用了\n");
}
2.h头文件
void my();

上面的非常好,没问题。

如果是static函数呢?

(1.cpp)
#include <stdio.h>
#include "2.h"
void main()
{my_static();
}
(2.cpp)
#include "2.h"
#include <stdio.h>
static  void my_static()
{printf("我是外边的的函数,我被调用了\n");
}
2.h头文件
static void my_static();


出错了。
怎么办呢????

(1.cpp)
#include <stdio.h>
#include "2.h"void main()
{haha();
}
(2.cpp)
#include "2.h"
#include <stdio.h>
static  void my_static()
{printf("我是外边的static的函数,我被调用了\n");
}void haha()
{my_static();
};
2.h头文件
static void my_static();void haha();

很勉强??????

缺点是我必须在haha中使用my_static,有时候你可能不想立即使用my_static


============================================================================================================================================================================================================================================================================================================================================================================
nodeNestloop.c文件中定义了

static TupleTableSlot *
ExecNestLoop(PlanState *pstate)

但是在

NestLoopState *
ExecInitNestLoop(NestLoop *node, EState *estate, int eflags)

中选用了

NestLoopState *nlstate;/* check for unsupported flags */Assert(!(eflags & (EXEC_FLAG_BACKWARD | EXEC_FLAG_MARK)));NL1_printf("ExecInitNestLoop: %s\n","initializing node");/** create state structure*/nlstate = makeNode(NestLoopState);nlstate->js.ps.plan = (Plan *) node;nlstate->js.ps.state = estate;nlstate->js.ps.ExecProcNode = ExecNestLoop;

这样就似乎可以在外部调用了这个文件。
/
/
/
/
/

试验一下

(1.cpp)
#include <stdio.h>
#include "2.h"void main()
{struct stru stru1;use_my_static(&stru1);stru1.f();
}
(2.cpp)
#include "2.h"
#include <stdio.h>
static  void my_static()
{printf("我是外边的static的函数,我被调用了\n");
}void use_my_static(struct stru *h)
{h->f=my_static;
};//作用要知道哦
2.h头文件
static void my_static();
struct stru{void (*f)();
};
void use_my_static(struct stru *h);

这样就可以在主函数中随便啥时候调用my_static了

结论:你还得在static所在的文件里面搞点小动作才可以实现在别的文件里调用它。哎,苦哦!

C语言如何引用别的文件中的static函数相关推荐

  1. 关于头文件中的 static inline函数

    关于头文件中的 static inline函数 头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一.于是自己验证.经过arm-n ...

  2. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体)

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体) 目录

  3. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...

  4. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体)

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体) 目录

  5. R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体)、注意是轴标签而非轴标题

    R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体).注意是轴标签而非轴标题 目录

  6. C语言中:在头文件中使用static定义变量意味着什么?

    C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...

  7. 在.c文件中调用cuda函数

    在.c文件中调用cuda函数 2014-04-19 17:17 446人阅读 评论(0) 收藏 举报 分类: cuda编程(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. 问题描述:假设在 ...

  8. C++ 在一个cpp文件中使用另一个cpp文件中定义的函数

    C++ 在一个cpp文件中 使用另一个cpp文件中定义的函数 建立一个console项目 头文件 cpp文件 main.cpp 建立一个console项目 以dev为例,在[文件][新建][项目],新 ...

  9. php tpl smarty,如何在smarty .tpl文件中调用php函数?

    嗨,我已经在.php文件中编写了一个函数.即 public static function getCategories($id_lang = false, $active = true, $order ...

最新文章

  1. FarBox--另类有趣的网站服务【转】
  2. 2018新秀杯a城轨司机调度_城市轨道交通行车调度问题与优化方式研究
  3. mybatis中传入String类型参数异常
  4. 常用HiveQL总结
  5. JS String类型整理
  6. Activity之间跳转的效果_overridePendingTransition
  7. c#中Show和Showdialog的区别分析
  8. [Linux] VIM 代码折叠
  9. 公司的年度汇报怎么写 年底述职报告写法
  10. java数组深拷贝和浅拷贝_java List复制:浅拷贝与深拷贝
  11. mysql 时间小于_删库不必跑路,自己动手MySQL数据恢复,真香~~
  12. hdu3359 Kind of a Blur
  13. 自己动手写Docker系列 -- 5.4实现进入容器的namespace,exec命令
  14. 如何在前端中使用protobuf(vue篇)
  15. 苹果手机各种型号图片_iphone全部机型图片
  16. 大麦无线虚拟服务器,大麦路由器192.168.10.1设置教程
  17. android 新浪微博分享提示签名错误,Android ShareSDK 微博分享 (8995)app auth fail for appKeysignpackage 解决...
  18. signed和unsigned区别
  19. VITESS User Management and Authentication for minikube
  20. AlertDialog基本使用

热门文章

  1. 林轩田机器学习基石笔记3—Types of Learning
  2. 直播电商源码,通过vue实现直播聊天
  3. dolphinscheduler v2.0.1 master和worker执行流程分析(四)
  4. np.multiply()、np.dot()和(*)简要介绍
  5. 【转】浅谈 Integer 类
  6. 图论基础知识总结(一)
  7. angular 注入器配置_Angular 教程:异步加载和依赖注入
  8. html中图片一角的卷起效果,一个书页卷角的HTMLCSS效果
  9. VS2022 VC++下控制台程序SetTimer定时器的应用
  10. 用机油桶拼机器人照片_惠州市实验中学学生玩转“装置艺术”:旧油桶制作飞机 易拉罐搭机器人...