요즘에는 Win32에서 많은 일을 해왔지만 꽤 익숙하고 조직에 관한 조언이 필요합니다. C++에서는 전역 변수를 선언하기 위해 구문 적으로 작동하지만 변수를 어디서나 수정할 수 있으므로 변경 내용을 추적하기가 훨씬 어려워지기 때문에 항상 잘못된 방식이라고 생각했습니다.Win32를 사용하는 조직의 일반적인 규칙은 무엇입니까?
내 Win32 프로젝트에서 여러 곳에서 수정해야하는 몇 가지 변수가 있습니다. 예를 들어, 그러한 변수 중 하나가 WndProc 함수와 대화 프로 시저 함수에도있었습니다. 사용 된 방식 때문에 WndProc의 실제 값을 사용하고 DialogBoxParam을 사용하여 대화 상자를 호출하고 lParam 값을 통해 대화 상자에 값을 전달할 수있었습니다.
그러나 드로잉에 사용하는 특정 비트 맵이나 WndProc 함수의 여러 인스턴스에서 값을 유지해야하는 여러 다른 창 메시지 호출에 사용되는 변수와 같은 다른 값이 있습니다. 여러 기능. 내가 만든 함수의 매개 변수를 제어 할 수 있지만 WndProc 함수에 변수를 전달해야 여러 개의 다른 창 메시지와 상관없이 사용할 수 있습니까? 여러 값을 전달해야하는 경우 어떻게해야합니까?
지금까지 나는 모든 것을 글로벌하게 만들었지 만 효과가 있지만 나에게는 기분이 좋지 않습니다 ...하지만 일부 변수는 일반적으로 컨벤션의 문제로 전역 적이라는 것을 알고 있습니다 - 주 윈도우와 인스턴스 변수 .
모두 어떻게 생각하십니까?
예 : 전역 변수가 "불량"입니다. 그리고 예, 고전적인 Win32/C 프로그래밍에서 전역 변수는 종종 다소 피할 수없는 경우가 많습니다. 그것이 당신의 질문입니까? – paulsm4