GOOGLE ADS

Freitag, 22. April 2022

Gibt es eine Möglichkeit, die Optimierung einer Vorlagenfunktion in Visual Studio c++ 2017 zu steuern

Ich habe versucht, #pragma optimize("", off) zu verwenden, um Optimierungen für die Funktion a() selektiv zu deaktivieren. Das funktioniert nicht. Gibt es eine Möglichkeit, die Optimierung einer Vorlagenfunktion in Visual Studio C++ 2017 zu steuern?

Header.h

#pragma once
#include <iostream>
using namespace std;
template <class T>
class my
{
public:
void f();
};
#pragma optimize("", off)
template<class T>
void my<T>::f()
{
double a = 0;
for (size_t i = 0; i < 100; i++)
{
a++;
}
cout << a;
}
#pragma optimize("", on)

Header.cpp

#include <iostream>
#include <vector>
#include "Header.h"
using namespace std;
int main()
{
my<string> a;
a.f();
return 0;
system("pause");
}


Lösung des Problems

Dieses Problem wurde in der Developer Community gemeldet und behoben, Sie können die neue Version von VS2022 herunterladen, um es auszuprobieren.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...