2016-09-12 26 views
-1

私はC++プロジェクトでSRWLockを使用しようとしていますが、Visual Studio 2012(Windows 7)は32ビットWindowsのみをターゲットにしています.SRWLockは私の場合はCriticalSectionsより優れています。 私が検索したので、私はWinBase.hをインクルードし、std名前空間を使うべきです。しかし、SRWLockは未定義です。 Googleで役に立つものが見つかりませんでした。私は何が欠けているのですか?私は手がかりを感謝します。 コード:間違えたSRWLockが定義されていないのはなぜですか?

#include <cstdlib> 
#include <winsock2.h> 
#include <Ws2tcpip.h> 
#include <windows.h> 
#include <stdio.h> 
#include <vector> 
#include <iostream> 
#include <string> 
#include <conio.h> 
#include <WinBase.h> 
using namespace std; 
SRWLock gLock; // here is the problem 
+0

[**本物の**ドキュメントを読む](https://msdn.microsoft.com/en-us/library/br244843.aspx)。そのC++ .NETクラスを使用している場合は、そのクラスを見つけることができます。コアwinapiを使用している場合、[こちらのドキュメントはこちら](https://msdn.microsoft.com/en-us/library/windows/desktop/aa904937(v = vs.85).aspx)。見た目で判断すると、前者を使用したかったが、後者にはファイルが含まれていた。 – WhozCraig

+0

WhozCraig、ありがとう。リンクの1つが解決策を指摘しました。あなたは実際に私の答えを言い換えることができ、私はそれを受け入れます。 – Archont

+0

Jeffrey RichterとChristophe Nasarreの「Windows via C \ C++」の本で、WinBase.hが見つかりました。 – Archont

答えて

1

は:代わりにSRWLockのSRWLOCKであるべき。 そして、あなたが必要としているドキュメントは、winbase.hがこれを持っていたと言いました。

#include <windows.h> 
関連する問題