这是我在尝试将现有GCC项目迁移到Visual Studio时遇到的问题。
对于给定的函数void foo()
,我通过sse / avx内在函数对其进行手动优化,从而生成此函数的两个版本void foo_sse()
和void foo_avx()
,并使用{{1}在运行时调用正确的版本。要告诉GCC cpuid
和void foo_sse()
应分别使用void foo_avx()
和-msse
选项进行编译,我会在其声明中添加-mavx
和__attribute__((target("sse")))
。
它适用于GCC,但我找不到VS的等价物。出于某些安全考虑,我必须将所有代码放在一个单独的cpp文件中来破坏符号名称,我不能简单地将两个函数放在两个不同的cpp文件中,并为它们提供不同的编译器选项。
如何在VS中基于每个函数指定编译器选项?提前谢谢。