gpt4 book ai didi

c - 在 main.c 中定义其他头文件所需的宏的传统方法是什么?

转载 作者:行者123 更新时间:2023-11-30 17:45:53 25 4
gpt4 key购买 nike

例如,我有一个 can.h 头文件,其中包含

   #ifdef MC
extern int speed;
// many more variables and function prototypes
#endif

编辑:我希望用户有一个选项来定义启用此类变量和函数原型(prototype)的 MC。它在 C main 中与 include 指令一起定义(例如 #define MC),但是其他头文件无法链接到 main.c。相反,我最终在 can.h header 本身中定义了此类宏。我所能想到的就是写一个 main.h ,其中 can.h 将包含 main.h 。还有其他方法可以解决这个问题吗?

最佳答案

我并不完全清楚你想要做什么,但也许你想要这个:

/* in file can.h */
extern int speed;

然后

/* in file main.c */
#include "can.h"

int speed;

header can.h只是声明speed的存在,以便其他模块可以将其作为外部符号引用。当您编写 speed定义时,该对象的存储空间将在 main.c 中分配。

关于c - 在 main.c 中定义其他头文件所需的宏的传统方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19524861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com