-mavx2 -mfma
用于优化计算的编译选项,但是看起来如果.so与app不保持一致的话,代码运行起来会有些问题
如果C++的动态链接库使用了 -mavx2 和 -mfma 这样的编译选项进行编译,那么链接此库的文件在某些情况下也可能需要同样的编译选项。
如果链接的文件(例如可执行文件或其他库)中包含了使用了AVX2和FMA指令集的代码,并且依赖于这些指令集进行正确的运行,那么链接这个库时可能需要相同的编译选项,以确保库中使用的指令集与链接的文件的指令集保持一致。
如果链接的文件不依赖于AVX2和FMA指令集,或者这些指令集对于链接的文件的功能不是必需的,那么通常不需要使用相同的编译选项。但是,即使链接的文件本身不依赖于这些指令集,但如果使用了这些选项编译的库提供了额外的性能优势,那么在链接时使用相同的选项也可能是有益的。
总之,需要根据实际情况来决定是否需要在链接时使用相同的编译选项,以确保库和链接的文件之间的兼容性和一致性。