에 걸어. 여기서 원래의 코더의 아이디어가 무엇인지 모르겠지만 흥미로운 점은이 코드는 Visual Studio 2013을 사용하여 빌드 할 때 잘 작동하지만 Visual Studio 2015를 사용하여 빌드하면 코드가 멈 춥니 다 (정적 DLL로드시 변수 data
이 초기화 됨). 코드가 DLL로드시 호출되는 이유는 정적 지역 변수는 나는이 라인을 따라 레거시 코드를 VS2015 컴파일 된 코드
class B
{
static A a_;
}
내가 VS2015 인라인을 존중하지 않음으로써, 예를 들어, 다른 코드를 만들 수 있음을 인식, 예를 들어
class A
의 정적 객체가 있다는 것입니다 힌트 등. 그러나 그것이 걸려있는 이유는 무엇입니까? 메모리 손상인가? 이 코드를 작동 시키려고하지 않고이 코드로 인해 발생할 수있는 잠재적 인 문제를 이해하려고합니다.
[mcve]하시기 바랍니다. – user4581301
이것이 실행 가능하다는 것이 확실하지 않습니다 (최소, 완료 및 검증 가능한 예) -이 코드는 거대한 솔루션의 일부입니다. 나는 그것을 일으킬 수있는 이론적 인 문제를 이해하려고 노력하고 있으며, 반드시이 코드가 달성하고자하는 문제를 해결할 필요는 없습니다. 일관성있게 재현 할 수없는 경우도 있습니다. – PeterD
이 함수가 호출되는 컨텍스트를 확인해야합니다. 'Data'의 생성자가 실제로 무엇을하는지 알면 도움이 될 것입니다. 게시 된 코드에는 문제가 무엇인지 아무런 단서도 없습니다. –