我对 C 很陌生,我来自 Web 开发背景,所以我有点不确定我见过 C 程序员使用的一些位和字节编码。我正在查看一些将参数传递给函数的 C 代码。
insert_chem(int jobId, ...);
而当这个函数被调用时,传入的jobId其实是一个常量,原来是这样定义的:
CYCLE_JOB_MEM = 0x00020000
它会像这样使用:
insert_chem(CYCLE_JOB_MEM, ...);
我已经看到这可以与相同的第一个参数一起传递:
#define DETAILS 0x80000000
像这样:
insert_chem(CYCLE_JOB_MEM|DETAILS, ...);
这里到底发生了什么?这段代码很老了,C 还使用这样的做法吗?如果有人能给我一些关键词和一个简单的解释,那么我可以继续研究这个。
对不起,如果这东西很简单!
更新:
这些似乎是十六进制值,如何传入多个值?输入函数时它们是否分开?为什么不首先传递多个参数?