C语言如何引用别的文件中的static函数
文章目录
- 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函数相关推荐
- 关于头文件中的 static inline函数
关于头文件中的 static inline函数 头文件中常见static inline函数,于是思考有可能遇到的问题,如头文件经常会被包含会不会产生很多副本?网上说法不一.于是自己验证.经过arm-n ...
- R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体)
R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置x轴的标签文本使用粗体字体) 目录
- R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...
- R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体)
R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,只设置y轴的标签文本使用粗体字体) 目录
- R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体)、注意是轴标签而非轴标题
R语言ggplot2可视化:ggplot2中使用element_text函数设置轴标签文本粗体字体(bold text,使x轴和Y轴的标签文本都使用粗体字体).注意是轴标签而非轴标题 目录
- C语言中:在头文件中使用static定义变量意味着什么?
C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...
- 在.c文件中调用cuda函数
在.c文件中调用cuda函数 2014-04-19 17:17 446人阅读 评论(0) 收藏 举报 分类: cuda编程(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. 问题描述:假设在 ...
- C++ 在一个cpp文件中使用另一个cpp文件中定义的函数
C++ 在一个cpp文件中 使用另一个cpp文件中定义的函数 建立一个console项目 头文件 cpp文件 main.cpp 建立一个console项目 以dev为例,在[文件][新建][项目],新 ...
- php tpl smarty,如何在smarty .tpl文件中调用php函数?
嗨,我已经在.php文件中编写了一个函数.即 public static function getCategories($id_lang = false, $active = true, $order ...
最新文章
- FarBox--另类有趣的网站服务【转】
- 2018新秀杯a城轨司机调度_城市轨道交通行车调度问题与优化方式研究
- mybatis中传入String类型参数异常
- 常用HiveQL总结
- JS String类型整理
- Activity之间跳转的效果_overridePendingTransition
- c#中Show和Showdialog的区别分析
- [Linux] VIM 代码折叠
- 公司的年度汇报怎么写 年底述职报告写法
- java数组深拷贝和浅拷贝_java List复制:浅拷贝与深拷贝
- mysql 时间小于_删库不必跑路,自己动手MySQL数据恢复,真香~~
- hdu3359 Kind of a Blur
- 自己动手写Docker系列 -- 5.4实现进入容器的namespace,exec命令
- 如何在前端中使用protobuf(vue篇)
- 苹果手机各种型号图片_iphone全部机型图片
- 大麦无线虚拟服务器,大麦路由器192.168.10.1设置教程
- android 新浪微博分享提示签名错误,Android ShareSDK 微博分享 (8995)app auth fail for appKeysignpackage 解决...
- signed和unsigned区别
- VITESS User Management and Authentication for minikube
- AlertDialog基本使用
热门文章
- 林轩田机器学习基石笔记3—Types of Learning
- 直播电商源码,通过vue实现直播聊天
- dolphinscheduler v2.0.1 master和worker执行流程分析(四)
- np.multiply()、np.dot()和(*)简要介绍
- 【转】浅谈 Integer 类
- 图论基础知识总结(一)
- angular 注入器配置_Angular 教程:异步加载和依赖注入
- html中图片一角的卷起效果,一个书页卷角的HTMLCSS效果
- VS2022 VC++下控制台程序SetTimer定时器的应用
- 用机油桶拼机器人照片_惠州市实验中学学生玩转“装置艺术”:旧油桶制作飞机 易拉罐搭机器人...