OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2596|回复: 10

如何在一个工程中根据不同情况使用不同的app程序

[复制链接]

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
发表于 2016-10-26 15:28:16 | 显示全部楼层 |阅读模式
1金钱
具体情况是这样的:我现在有两个工程,这两个工程相似的代码太多了,因为是使用不同的协议,只是在通信上程序有差别。
而我在以后的使用中,可能会去改这部分相同代码,这样的话我必须每次都改这两个工程,有什么办法可以把这两个工程整合在一起吗?
然后我可以根据实际需求决定使用哪部分通信程序。

给点思路就好啦,先谢谢大家,先谢谢大家。

最佳答案

查看完整内容[请看2#楼]

1、建立一个工程,用宏定义区分硬件版本号 2、建立两个工程,共用公用文件夹,你改变了一个工程的代码,另外一个工程加载的时候,代码自然是最新的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-26 15:28:17 | 显示全部楼层
1、建立一个工程,用宏定义区分硬件版本号

2、建立两个工程,共用公用文件夹,你改变了一个工程的代码,另外一个工程加载的时候,代码自然是最新的
学无止境
回复

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-10-26 15:35:10 | 显示全部楼层
如果你只是通信不一样,你可以提供宏进行编译切换。如果差异多就建议不要了,直接修改后用比较工具比较,把另一个改了就行,并不难。
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
 楼主| 发表于 2016-10-26 15:43:03 | 显示全部楼层
ysq7120 发表于 2016-10-26 15:35
如果你只是通信不一样,你可以提供宏进行编译切换。如果差异多就建议不要了,直接修改后用比较工具比较,把 ...

比较工具是什么呀
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-26 15:48:43 | 显示全部楼层

BeyondCompare_3.3.4.14431
学无止境
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13102
金钱
13102
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-26 15:48:45 | 显示全部楼层

BeyondCompare_3.3.4.14431
学无止境
回复

使用道具 举报

19

主题

430

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1341
金钱
1341
注册时间
2016-4-22
在线时间
187 小时
发表于 2016-10-26 16:00:14 | 显示全部楼层
楼上的BeyondCompare不错,不过我还一直在用2
伤情最是晚凉天,憔悴斯人不堪怜。
邀酒摧肠三杯醉,寻香惊梦五更寒。
钗头凤斜卿有泪,荼蘼花了我无缘。
小楼寂寞新雨月,也难如钩也难圆。
回复

使用道具 举报

0

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2016-10-12
在线时间
28 小时
发表于 2016-10-26 16:06:16 | 显示全部楼层
把通信的程序加上#ifdef判断,然后#define宏定义全局变量,这不是常用的debug方法吗?不知道你说的是不是这个意思
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
 楼主| 发表于 2016-10-26 16:21:31 | 显示全部楼层
zmxhl 发表于 2016-10-26 16:06
把通信的程序加上#ifdef判断,然后#define宏定义全局变量,这不是常用的debug方法吗?不知道你说的是不是这 ...

对,我一开始想到的也是这种方式,但是两个工程虽然相同的代码挺多的,但是杂,而且程序也有点大,所以想问问大家有没有其他的思路。不过也谢谢你的回答啦
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
 楼主| 发表于 2016-10-26 16:23:39 | 显示全部楼层
jermy_z 发表于 2016-10-26 15:38
1、建立一个工程,用宏定义区分硬件版本号

2、建立两个工程,共用公用文件夹,你改变了一个工程的代码, ...

我一开始没能看到你的思路,后来仔细想了想,我觉得你这个思路很好啊,我现在工程有点杂,刚好也需要再整理一下,反而根据你的思路我还能把工程逻辑理清楚~
回复

使用道具 举报

21

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
金钱
374
注册时间
2016-6-8
在线时间
79 小时
 楼主| 发表于 2016-10-26 16:24:13 | 显示全部楼层
ysq7120 发表于 2016-10-26 16:00
楼上的BeyondCompare不错,不过我还一直在用2

好的,谢谢你~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 12:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表