c - 如何在我的项目中使用 Linux like CONFIG_* 配置?

标签 c linux gcc makefile autotools

我目前正在用 C 编写一个基本的队列模拟器程序。

来源:https://github.com/iamsubhranil/DataStructure_C/tree/libqueue

我正在使用模块化方法并编写了一个名为 libqueue(queue_library.c, header at queue_interface.h) 的库,并使用 queue_ll.c 在其之上绘制了用户界面。

我已经使用对话框制作了一个类似于配置的菜单配置,它将根据用户选择的配置重新编译库(现在还没有):例如,如果用户只想使用的功能优先队列,库将被重新编译,只包含优先队列等功能。

我已经为 Android 设备交叉编译了 linux 内核并看到了快速使用

make (codename)_defconfig
make -j(THREADS)

我想使用受 Linux 内核启发的以下方法:

#ifdef CONFIG_QUEUE_PRIORITY
priorityfunc1();
................
#endif

我正在学习使用 autotools,但无法找到将触发 make 以使用我的配置文件并将其转换为 #define 宏的进程,如下所示:

make myconfig
make all

显然,myconfig 应该有的三个选项:

CONFIG_LINEAR_QUEUE=y
# Based on user selection
CONFIG_QUEUE_DEQUE=y
# Based on user selection
CONFIG_QUEUE_PRIORITY=y

有什么建议吗?

最佳答案

使用 autotools 无法实现您想要做的事情,因为 autoconf 有自己的基于 ./configureAC_CONFIG 的定义处理宏。

关于c - 如何在我的项目中使用 Linux like CONFIG_* 配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319214/

相关文章:

c - 在 esp8266 上发送多播?

c++ - 在 64 位 Windows 上 long 的位大小是多少?

c - 在没有现有定义的情况下使用 typedef 是什么意思

linux - 这个命令在 shell linux 中起什么作用

c++ - -Wstrict-overflow 不会在明显应该的地方产生任何警告

linux - 适用于 Linux 的随处运行的静态链接 gcc 二进制文件

c - Visual Studio Code 忽略调试符号

c - Xcode 错误 : "EXC_BAD_ACCESS"

linux - 比较两个变量之间的数据并生成报告到文本文件中

c - Ubuntu readline() 和 makefile