gpt4 book ai didi

c++ - 在c中编译dll时传递参数

转载 作者:行者123 更新时间:2023-11-28 06:58:49 29 4
gpt4 key购买 nike

在VS中编译项目时可以发送参数吗?

我有一个 .dll,必须针对更多国家/地区进行编译。国家 ID 需要代码,这就是为什么我需要为每个国家单独构建。所以,我在想是否有一种方法可以在编译时将国家 ID 作为参数发送,而不是每次需要为某个国家构建时都修改代码?

最佳答案

我将简要说明上述每种方法的优缺点,但我倾向于使用语言环境文件方法,除非有非常充分的理由或要求通过单独编译的 dll 进行混淆。

  • 通过区域设置资源文件加载因国家/语言而异的内容;代码将保持不变,但字符串、公式等都可以从文件系统上的资源加载,该文件系统具有所选语言环境的相关条目。
    • 优点:单一代码库;多个语言环境文件;易于代码维护;单个版本针对资源存在的所有语言环境;可以通过添加一个简单的资源/区域设置文件轻松扩展到新区域
    • 缺点:需要外部资源/语言环境文件
  • 使用#define 包装代码,以便每个编译路径都依赖于特定的#define:
    • 优点:发布更安全,因为所有 Material 都在已编译的 dll 中;
    • 缺点:编译比较复杂,需要参数化;添加新的语言环境意味着向代码库添加代码;引入错误的范围乘以要支持的语言环境数 + 1
  • 多重配置:这与使用#define
  • 有相同的问题和优势

关于c++ - 在c中编译dll时传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805049/

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