是否有可能在编译之前立即将代码注入翻译单元?
Is it possible to inject code into translation unit immediately before compilation
我用msvc++ 2008和2010构建我的c++代码库。是否有可能获得翻译单元,分析它,必要时插入一些代码,然后传递到编译过程?原始源代码不应受到影响。
当然,对于构建项目的开发人员来说,它应该是透明的。最后,它只会影响目标文件。Visual studio非常强大。我想,应该有一些插件API或钩子来做这些。请给我一个提示。
我不相信这是可能的,正如你所描述的,虽然我不确定。它肯定是不平凡的。唯一一个类似的项目是OpenMP,但我的印象是微软实现了他们的版本。
我可以看到一个模板引擎,如Cheetah足够了。你可能会放弃那些花哨的东西,比如代码完成和智能感知。
基本上,您将设置文件以使用自定义编译器在另一个文件中生成新代码。然后,c++编译器将编译生成的文件。坦率地说,我不认为使用它会优雅或令人愉快。
我用CMake做类似的事情,虽然我没有把它作为一个通用的工具。我为一些内容生成写了一个。
如果你能详细描述一下你想做什么,我们可以提供一个更好的解决方案。
相关文章:
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- 在注入的 Dll 的 DllMain 中运行代码导致注入超时
- 通过 dll 注入在主线程中执行代码
- LLVM Clang C 代码注入
- 类型擦除代码的依赖注入单元测试
- C - 将代码注入运行过程(使用DLL)
- 该代码注入第三方Qt应用程序并执行一些方法来获取Qt应用程序信息
- 此代码是否容易受到 SQL 注入的攻击?我该如何使其安全
- 重命名 SWIGTYPE 并将代码注入生成的类
- 注入我的代码后游戏滞后
- 嵌入式系统上的C++动态代码注入
- 引脚类似工具,用于编译时注入检测代码
- Dll 注入 - 在另一个进程中编写本机代码
- 将x86代码注入x64进程
- 如何在C++中打印堆栈跟踪,并在C++中注入代码
- 是否有可能制作一个函数包装器来运行注入的代码并返回与注入的函数相同的数据
- 使用代码洞穴注入64位DLL
- C++代码注入使注入的应用程序崩溃
- 使用代码注入在远程进程中执行函数
- 是否有可能在编译之前立即将代码注入翻译单元?