草庐IT

file_memory

全部标签

c# - 如何读取目录和/或文件的 128 位 NTFS FILE_ID?

所以NTFS使用128位的Guid来标识文件和目录,你可以很容易地查看这些信息:C:\Temp>C:\Windows\System32\fsutil.exeobjectidquery.ObjectID:ab3ffba83c67df118130e0cb4e9d4076BirthVolumeID:ca38ec6abfe0ca4baa9b54a543fdd84fBirthObjectIdID:ab3ffba83c67df118130e0cb4e9d4076DomainID:00000000000000000000000000000000这很明显,但是如何以编程方式检索此信息呢?查看OpenF

c# - C#<->C++ DLLImport "Attempted to read or write protected memory."问题

我有一个C++dll,其中有一个函数,我试图从C#应用程序调用。这是C++头文件中的代码extern"C"_declspec(dllexport)intLabelStoringSSDsim(intdevNum,UCHARserial[40],UCHARwwn[40],UCHARConfigID[5],UCHARFrmRev[8],UCHARDevName[40],inteCode);这是C++源文件中的代码intLabelStoringSSDsim(intdevNum,UCHARserialLbl[40],UCHARwwnLbl[40],UCHARConfigID[5],UCHARFr

c++ - 如何在 emacs C++ 编译模式下跳过 "in file included from"?

我喜欢使用emacs编译我的C++项目,使用编译模式和next-error跳转到源代码中的警告和错误。但是,我发现非常烦人的是next-error将我带到编译输出中的每个#include行“Infileincludedfrom”。我知道您可以使用compilation-skip-threshold跳过警告,但我不想跳过警告,这些包含行显示为警告。对我来说这似乎是编译模式中的错误(这些不是警告),但是thisbug被关闭为“不是错误”具体来说,对于如下所示的输出:Infileincludedfrom/path/to/file1.h:linenum1:Infileincludedfrom/

c++ - msvc 相当于 gcc 的 __BASE_FILE__

在VisualC++中是否有任何等效于__BASE_FILE__的东西?我想知道当前正在由VC++编译的文件的名称。注意:__FILE__展开为当前文件,例如它可能是#include之一。来自gcc的文档:__BASE_FILE__此宏以C字符串常量的形式扩展为主输入文件的名称。这是调用C编译器时指定为参数的源文件。 最佳答案 感谢John的评论,这是一个解决方法。如果您简单地输入__BASE_FILE__=%(Filename),它不会生成文字字符串。所以把它放在双引号之间;我还添加了扩展名,因为%(Filename)没有它。__

c++ - 用于取消标志的 std::atomic_bool:std::memory_order_relaxed 是正确的内存顺序吗?

我有一个从套接字读取并生成数据的线程。每次操作后,线程都会检查一个std::atomic_bool标志以确定它是否必须提前退出。为了取消操作,我将取消标志设置为true,然后在工作线程对象上调用join()。线程和取消函数的代码如下所示:std::threadwork_thread;std::atomic_boolcancel_requested{false};voidthread_func(){while(!cancel_requested.load(std::memory_order_relaxed))process_next_element();}voidcancel(){can

解决git报错 “remote: Please remove the file from history and try again.”

使用git提交代码时报错:remote:error:File:90b39f4470e405ed852e517a73473b527ac60eaa362.16MB,exceeds100.00MB.remote:Usecommandbelowtoseethefilename:remote:gitrev-list--objects--all|grep90b39f4470e405ed852e517a73473b527ac60eaaremote:Pleaseremovethefilefromhistoryandtryagain.应该是提交的文件中有超过100MB的。解决方案:1、按照提示执行命令查看超大的

c++ - DEBUG_NEW 和 __FILE__ 有什么用?

我看到了下面的宏,#ifdef_DEBUG#definenewDEBUG_NEW#UNDEFTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif上述宏的用法是什么?谢谢 最佳答案 DEBUG_NEW只是一个MACRO,通常定义为:#defineDEBUG_NEWnew(__FILE__,__LINE__)#definenewDEBUG_NEW因此,无论您在哪里使用new,它都可以跟踪文件和行号,这些文件和行号可用于定位程序中的内存泄漏。而__FILE__、__LINE__都是predefine

c++ - 如何在 C++ 的构造函数中使用 __FILE__ 和 __LINE__ 作为默认参数?

我试图在构造函数中使用__FILE__和__LINE__宏作为默认参数,但我似乎无法让宏使用正确的文件.它们从我的头文件中不断扩展。更详细的说:我想要一个对象被实例化为我的类的成员的文件和行号。但我不想每次要使用这些对象时都必须手动输入参数。我知道有办法做到这一点,但我一辈子都想不出来。我目前正在做的是:在我的头文件中:mnNumber(floatx,constchar*filename=__FILE__,intlinenumber=__LINE__):value(x),mFileName(filename),mFunctionName(nullptr),mLineNumber(lin

c++ - .obj : fatal error LNK1107: invalid or corrupt file: cannot read at 0x6592

我正在尝试将.obj模型加载到我的C++opengl3代码中,但由于某种原因它给了我这个错误:1>正在链接...1>.\bunny.obj:fatalerrorLNK1107:无效或损坏的文件:无法在0x6592处读取我试图搜索类似的错误,但有关于.dll或.lib的错误。你能帮我解决这个问题吗?我也尝试过使用不同的obj模型,但它总是给我这个错误。 最佳答案 您正在尝试使用C++链接器加载您的对象模型(可能您刚刚将它添加到项目中,现在它正在尝试编译)。链接器可以处理.obj文件,但它等待它们成为“目标代码”文件(通常也有.obj扩

c++ - 如何避免 "unable to read memory"

我有一个结构:structa{a(){};a(intone,inttwo):a(one),b(two){};inta;intb;intc;}a*b;coutc;有时当我想读取(例如)c并且在debbuger中这个值被称为'unabletoreadmemory'然后我的程序崩溃了。现在,如何检查该值是否可读?最好的问候。 最佳答案 你还没有初始化指向任何东西的指针,所以它是无效的。通常,您无法测试指针是否指向有效对象。由您来确保它确实如此;例如:aobj(1,2);//anobjecta*b=&obj;//apointer,point