欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何调用其他文件的static函数

程序员文章站 2024-03-12 22:20:38
...

方法:

  • include 目标static函数的.c文件
  • 通过函数包住static函数,另一文件调这个函数
  • 通过static的地址调用

  • 优点
    可能是为了兼容性这么玩,
  • 缺点
    如果一个大工程这样写,文件会很多很乱不容易规划

第一种

//a.c
#include <stdio.h>
//#include "b.h"
#include "b.c"
int main(void)
{
	test_func();	

	return 0;
}
// b.c
#include <stdio.h>

static void test_func(void)
{
	printf("test static");
}

第二种

//a.c
#include <stdio.h>
int main(void)
{
        func();

        return 0;
}
~   
// b.c
#include <stdio.h>

static void test_func(void)
{
        printf("test static");
}

void func(void)
{
        test_func();
}

第三种

//a.c
#include <stdio.h>

#include "b.h"


int main(void)
{
        func();
        func_t();

        return 0;
}
// b.c
#include <stdio.h>
#include "b.h"

static void test_func(void)
{
        printf("test static");
}

void func(void)
{
        func_t = test_func;
}

//b.h
void (*func_t)(void);
void func(void);
相关标签: 有意思的