fork download
  1. #include <iostream>
  2. #include <memory>
  3.  
  4. #include <windows.h>
  5.  
  6. template <typename T, typename Del = std::default_delete<T>>
  7. inline auto scoped(T *t, Del&& del = std::default_delete<T>)
  8. {
  9. return std::unique_ptr<T, Del>{t, del};
  10. }
  11.  
  12. HANDLE openfile(char* filename)
  13. {
  14. HANDLE hFile = CreateFileA(filename,
  15. GENERIC_READ,
  16. FILE_SHARE_READ,
  17. nullptr,
  18. OPEN_EXISTING,
  19. FILE_ATTRIBUTE_NORMAL,
  20. nullptr);
  21. return hFile;
  22. }
  23.  
  24. struct closefile
  25. {
  26. void operator()(HANDLE h) { CloseHandle(h); }
  27. };
  28.  
  29. void* load_from_disk(char* filename)
  30. {
  31. auto file = scoped(openfile(filename), closefile());
  32. auto size = GetFileSize(file.get(), nullptr);
  33. auto buff = scoped(new char[size], std::default_delete<char[]>());
  34.  
  35. return nullptr;
  36. }
  37.  
  38. int main()
  39. {
  40. load_from_disk("main.exe");
  41. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:4:21: fatal error: windows.h: No such file or directory
 #include <windows.h>
                     ^
compilation terminated.
stdout
Standard output is empty