在C中的DLL中的许多函数之间共享变量

问题描述 投票:0回答:1

你好(抱歉我的英文不好)。

在我的空闲时间,我在python(3.5)中做了一个小应用程序。

这个应用程序将不得不从C中生成的DLL中调用函数。我成功了但是我有一个更“一般”的问题。我们来举个例子吧。我的C代码中有四个函数:

  • goNorth(){和++;}
  • goSouth(){y--;}
  • goWest(){x--;}
  • goEast(){x ++;}

易于理解,只需x和y坐标,每个功能都有所动作。我的问题是:如果我制作了这个代码的dll,是否有一种简单的方法(并且干净)来分享所有函数的x和y?

朱利安

c dll
1个回答
0
投票

是的。在“实现”文件中定义变量,并在头文件中将其声明为“extern”:

实施文件:

// mylib.c

#include "mylib.h"

int x;
int y;

void goNorth() { ... }
void goSouth() { ... }

头文件:

// mylib.h

extern int x;
extern int y;

void goNorth();
void goSouth();
© www.soinside.com 2019 - 2024. All rights reserved.