【发布时间】:2018-11-01 22:07:11
【问题描述】:
我使用 Visual Studio 2015 开发了一个 c++ 项目。我的项目的输出是一个单一的可执行文件,每个客户端都必须有一个唯一的 ID,并且该 ID 必须可以在代码中访问。一种简单的方法是在代码中定义一个常量变量,并为每个客户端更改其值并多次构建它,但我有一个 Linux 服务器,我不确定是否可以构建它,因为我使用了许多 Winapi 库.我在想也许还有另一种方法可以更改或向输出添加一些常量值,例如操作可执行文件。 例如:
#include <string>
#include <iostream>
#include <Windows.h>
const std::string ID = "some unique ID";
int main() {
std::cout << "Your ID: " << ID << std::endl;
getchar();
return(0);
}
【问题讨论】:
-
把id放到配置文件里?将其作为参数传递给程序?
-
好吧,我假设他会提供一个自定义可执行文件的下载链接,该文件具有分配给该特定下载器的 ID,因此热修补标准可执行文件可能是重新编译整个东西的替代方法(顺便说一下 ID也可以在补丁时加密并在运行时解密)
-
@MasoudR。 -- 首先,这是一个 Windows 程序吗?如果是这样,您可以创建一个string resource 并直接在可执行文件中进行更改。我知道这违反了您没有其他程序的规则,而是just to illustrate that it can be done。您只需要弄清楚执行此操作的机制即可。
标签: c++ visual-studio compilation