380091044 发表于 2024-3-29 09:32:09

最近发现之前调试时,测试OK的程序,打包压缩后,重新打开都报同样的错误?

最近发现之前调试时,测试OK的程序,打包压缩后,过一段时间,重新打开都报同样的错误?很多都这样,我之前也是这样保存,就没问题,

这是什么情况?如下图:



AI-32位8051 发表于 2024-3-29 10:01:26

本帖最后由 STCAI-32位8051 于 2024-3-29 10:06 编辑

应该是头文件的问题
   可以从 STC-ISP V6.94 以上版本的 ISP烧录/辅助开发工具包一体化软件//资料下载// 专栏 中下载 开源的 C语言代码, 开源的原理图


380091044 发表于 2024-3-29 10:32:39

STCAI-32位8051 发表于 2024-3-29 10:01
应该是头文件的问题
   可以从 STC-ISP V6.94 以上版本的 ISP烧录/辅助开发工具包一体化软件//资料下载//...

感谢老师指点,你说的对,我刚才检查发现,是不同芯片程序融合时,出现错误里面变量重复,我就根据需要,直接注销掉了一个头文件中的定义,导致之前的很多文件出现这样的错误,有什么好办法避免出现这样的问题?

soma 发表于 2024-3-29 10:35:33

一看就知道头文件问题

_奶咖君_ 发表于 2024-3-29 10:40:45

380091044 发表于 2024-3-29 10:32
感谢老师指点,你说的对,我刚才检查发现,是不同芯片程序融合时,出现错误里面变量重复,我就根据需要, ...

我是自己管理头文件,保存在对应的工程里面。不同芯片的程序建立不同的工程,用keil工程中的宏定义来选择不同的头文件,,

380091044 发表于 2024-3-29 11:04:44

_奶咖君_ 发表于 2024-3-29 10:40
我是自己管理头文件,保存在对应的工程里面。不同芯片的程序建立不同的工程,用keil工程中的宏定义来选择 ...

我下一把想法,跟你一样,自己管理,我工程都是单独的,每个工程都要有自己的头文件吗?

_奶咖君_ 发表于 2024-3-29 11:45:17

380091044 发表于 2024-3-29 11:04
我下一把想法,跟你一样,自己管理,我工程都是单独的,每个工程都要有自己的头文件吗? ...

不是不是,,我是按工程来区分不同的芯片,,那么不同芯片对应不同的头文件。。你当然可以选择多个工程使用同一个头文件的。。
我比较懒,,一般都是维护一个工程,,一个订单或者说项目完成之后,把这个工程复制一份留档。所以准确来说 一个keil工程就有一个头文件,那么留档的这个工程无论什么时候编译都是正确的。
但是上面的做法把 多余的文件很多。如果之前的项目需要修改就很麻烦,毕竟之前的程序的版本可能和现在的版本差距很大了。再从留档的工程改起,就相当于重复造轮子,所以一般都是客户的需求不变,就还用原来的工程。如果客户的需求改变了(一般是增加功能),那么就按照最新版本的工程来做。
当然我用上面的方法也和我的工作性质有关,,,只适合我们这么用

380091044 发表于 2024-3-29 13:10:52

_奶咖君_ 发表于 2024-3-29 11:45
不是不是,,我是按工程来区分不同的芯片,,那么不同芯片对应不同的头文件。。你当然可以选择多个工程使 ...

一个人一个习惯,我觉得适合自己的就是最好的,我第一次遇到这种情况,正在摸索中,寻找适合自己的方法,你的做法就很棒,
页: [1]
查看完整版本: 最近发现之前调试时,测试OK的程序,打包压缩后,重新打开都报同样的错误?