Linker 是否有可能让链接器生成一个二进制文件,即尽可能接近先前生成的二进制文件?

Linker 是否有可能让链接器生成一个二进制文件,即尽可能接近先前生成的二进制文件?,linker,linker-scripts,incremental-compiler,incremental-linking,Linker,Linker Scripts,Incremental Compiler,Incremental Linking,这里是上下文:我与微控制器一起工作,在微控制器中,生成的二进制文件被写入内部闪存,并从那里执行。闪存被擦除并以4KB块写入。闪光器足够智能,可以跳过不需要更改的块 在开发过程中,典型的做法是每天进行几十次小更改、重新编译和刷新 我想要实现的是,如果可能的话,让链接器尽可能地保持现有的结构。例如,如果我删除某个地方的if检查,代码将变小几个字节,所有后续信息将移位几个字节,因此整个闪存将被擦除并重新编程 如果链接器能够以某种方式在链接符号之间添加填充,则通常可以跳过大量flash而不覆盖。当代码变

这里是上下文:我与微控制器一起工作,在微控制器中,生成的二进制文件被写入内部闪存,并从那里执行。闪存被擦除并以4KB块写入。闪光器足够智能,可以跳过不需要更改的块

在开发过程中,典型的做法是每天进行几十次小更改、重新编译和刷新

我想要实现的是,如果可能的话,让链接器尽可能地保持现有的结构。例如,如果我删除某个地方的if检查,代码将变小几个字节,所有后续信息将移位几个字节,因此整个闪存将被擦除并重新编程

如果链接器能够以某种方式在链接符号之间添加填充,则通常可以跳过大量flash而不覆盖。当代码变大时,这显然不起作用

是否有任何gcc选项可以帮助自动化此类任务(无需手工制作大量链接器脚本)?是否有编译器至少部分支持此类行为