【发布时间】:2018-05-29 03:57:06
【问题描述】:
我正在 Kali Linux 中制作一个程序,我想让它只在 Kali 中运行。我可以用 C 来做,就像:
#if defined(_WIN32) || defined(_WIN64)
#define os_platform THISisWINDOWS
用于检查用户的操作系统是否是 windows,然后在脚本中检查定义的变量 os_platform,但我搜索了谷歌和任何地方,但我找不到 Kali Linux 的宏。如果我这样做:
#if defined(__linux__)
#define os_platform THISisLINUX
它可以是任何类型的 Linux,例如 Ubuntu 和类似的 Linux。 Kali Linux 的宏是什么?
【问题讨论】:
-
只是因为我今天感到好奇:为什么?
-
由于不同的 Linux 安装(来自类似的发布时间)(通常)是二进制兼容的,尤其是在发行版系列中,因此使用
#ifdef进行编译时检查可能不是一个好方法。为什么二进制文件在 Kali 上的编译方式与在 Ubuntu 或普通 Debian 上的编译方式不同?
标签: c macros linux-distro