gpt4 book ai didi

c++ - 在不重新编译源代码的情况下更改 C++(C) 程序中定义的数字

转载 作者:可可西里 更新时间:2023-11-01 10:57:39 24 4
gpt4 key购买 nike

假设我有这个打印数字的简单程序:

#include <iostream>
int unique_id = 112233;
int main()
{
std::cout << unique_id;
return 0;
}

然后我将它编译成类似a.exe 的东西。现在我想创建另一个打开 a.exe 并将 unique_id 更改为其他内容的应用程序。可能吗?
由于某些限制,我不会将参数传递给程序。

我想使用 unique_id,顾名思义,唯一标识我的程序运行的位置。但我不想为 1000 个客户编译我的程序 1000 次。我知道我可以使用硬盘序列号,但在虚拟机中,这个序列号可能会被省略。我知道我可以使用 CPU 序列号,但我在 S.O 帖子中读到该序列号已弃用。我知道我也可以使用 MAC 地址 :),但该地址可以轻松更改。所以我决定将唯一 ID 放在 exe 文件本身中。

最佳答案

考虑到您添加到问题中的动机,您可以简单地让 exe 从 .txt 文件中读取 id,并为每个客户发送一个不同的 .txt 文件和 exe。

或者,等效地,您可以制作一个具有返回 ID 的函数的 DLL(或您的平台的等效项),并且只为每个客户重新编译 DLL。

关于c++ - 在不重新编译源代码的情况下更改 C++(C) 程序中定义的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47057737/

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