gpt4 book ai didi

c++ - 如何区分两个独立程序的文件与公共(public)文件

转载 作者:太空狗 更新时间:2023-10-29 12:13:18 33 4
gpt4 key购买 nike

我的项目需要区分文件属于 linux 守护程序(用 C 编写)和简单的 linux 程序(用 C++ 编写)。这两个项目使用了 2 个共享文件 (helpers_functions)。守护进程和程序有不同的日志系统。守护进程写入文件,编程到标准输出。

当我想为两个程序(在 helper_functions 文件内)的公共(public)函数中记录一些内容时,就会出现问题。我不想通过参数传递,这是程序 A,还是程序 B。

我编译的文件属于具有 g++ 标志 -D 的单独程序,但是当我想从公共(public)文件登录时我能做什么?我无法在那里定义任何东西,因为我不知道什么时候将它用于程序 A,或什么时候用于程序 B。

最佳答案

你可以添加一个全局变量

const int iamprogram = ...;

在程序A中定义为PROGRAM_A,在程序B中定义为PROGRAM_B,解决眼前的问题。你也可以让这个变量直接包含你想要登录的文件:

const char *program_logfile = "/path/to/logfileA";

从长远来看,我建议您重构您的代码,使通用代码不依赖于它属于哪个程序。对于您还想将代码用于第三个程序的情况,这更易于维护和扩展。

关于c++ - 如何区分两个独立程序的文件与公共(public)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34063290/

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