工具/软件:TI C/C++编译器
我们发现C66 CGTv 8.1 3和增量链接存在潜在问题
随附了一些可重现该问题的文件。 文件中显示了一个图,显示了预期的流程。
每个文件都包含一个具有全局构造函数的对象:
Main.cpp–MainFile类型的对象
libFile01.cpp–类型为LibFile01的对象
libFile02.cpp–类型为LibFile02的对象(该对象使用pragma Retain实例化)。
仅执行对象MainFile和LibFile02的构造函数。
1.要复制,请 使用附加 的源文件和批处理程序compile2.bat来构建程序。 请将路径设置为包含在compile2.bat文件中。
2.对于gcc编译器(在x86和A15上),调用对象LibFile01的构造函数–批处理文件compile2_gcc.bat用于为PC构建程序。
3. pragma Retain很可能会有所帮助,但是问题与第三方代码有关,我们甚至不能在一行中更改第三方代码。
4.如果您编译所有文件并在一个步骤中链接它们,则所有全局构造函数都将被调用–批处理文件compile1.bat
5.类似的问题在 http://e2e.ti.com/support/development_tools/compiler/f/343/p/20.2214万/721867上72.1867万上报告 ,并报告为solved.e2e.ti.com/.../2017.11.13_5F00_C66_5F00_Incremental_5F00_Link.zip