아래의 링크에 따르면, 나는 작은 테스트 케이스를 썼다. 그러나 그것은 효과가 없습니다. 어떤 생각이라도 감사드립니다!scoped_lock이 파일에서 작동하지 않습니까?
#include <iostream>
#include <fstream>
#include <boost/interprocess/sync/file_lock.hpp>
#include <boost/interprocess/sync/scoped_lock.hpp>
using namespace std;
using namespace boost::interprocess;
int main()
{
ofstream file_out("fileLock.txt");
file_lock f_lock("fileLock.txt");
{
scoped_lock<file_lock> e_lock(f_lock); // it works if I comment this out
file_out << 10;
file_out.flush();
file_out.close();
}
return 0;
}
"작동하지 않음"을 정의하십시오. 컴파일러 오류가 발생합니까? 런타임시 어설 션? 예상치 못한 동작입니까? 세부 사항을 알려주세요. – ildjarn
컴파일되지만 런타임 중에는 fileLock.txt에 쓰지 않습니다. – echo
VC++ 2010 SP1에서이를 재현하고 1.46.1을 향상시킬 수 있습니다. 문서의 정확한 샘플 코드가 작동하지 않는다면 버그가있는 것으로 보일 수 있으므로 사용자 메일 링리스트에 게시해야합니다. – ildjarn