宏:makefile/c/java
来源:互联网 发布:hadoop mac和linux 编辑:程序博客网 时间:2024/04/27 23:33
[记录曾经做过的一个项目宏控制]
一套代码做几个项目之类的,特别讨厌了。为了避免干扰,用宏做项目隔离是一个好办法。
下面说一下我曾经实现过的一套方案。
- 为不同项目创建宏定义并用特定文件记录
- 解析文件并生成环境变量,用于makefile的编译隔离
- 生成特定java全局变量,用于java代码隔离
- 生成特定h头文件,定义#define,用于c代码隔离
分析:
- 为何用文件记录宏?当宏数量越來越多时,用文件记录会更方便。
- 如何编译控制?make时先解析宏定义文件,再根据宏值做编译控制。
- 为何控制java代码?根据宏值生成相关全局变量的java文件,把java文件编译成jar,在需要控制的java工程中导入jar,根据全局变量执行不同流程。(注:因为是全局变量,代码优化后跟c的宏控制差别不大。)
- 为何用h文件控制c代码而不用-D的宏定义?用h文件,可以使c的编译依赖h文件,而h文件可以每次编译新工程是重新生成,从而是c文件重新编译。用-D时如果不清空过程文件,编译新工程可以不会重新编译c文件。
以上。希望对有需要的人有帮助。
BR
0 0
- 宏:makefile/c/java
- makefile -C
- 【C/C++】makefile实究
- Makefile的编写——用于C和JAVA
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- pro*c makefile 编写
- C/C++ 通用 Makefile
- 【Linux C】Makefile入门
- Linux C MakeFile
- Makefile: $^ $^ $@ 与 ..c.o
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- C/C++ 通用 Makefile
- 04-树5 Root of AVL Tree (25分)
- windows下mysql ERROR 1045 (28000): 错误解决办法
- 操作系统之进程
- 学术笔记·水环境数学模型在城市水环境综合整治中的应用研究·一
- 数学考试2(test20170311)
- 宏:makefile/c/java
- 节点操作(记录更改)
- Java多线程二——对象及变量的并发访问(概念理解)
- 求zset中所有score的和
- 冒泡,选择,插入排序方法
- 跨园区容灾,升级不停服——高可用负载均衡集群实践
- jsp九大内置对象和四种属性范围介绍
- MySQL的时间字段的选择
- Huber损失最小化学习法