草庐IT

C++智能指针之unique_ptr

全部标签

c - 使用 WinAPI 按名称获取进程中的指针变量

我不确定问题的标题有多清楚。这是我正在尝试做的事情:我有一个进程,它使用DLL库作为插件。这些库使用函数,与临界区对象同步。我希望所有DLL函数都与相同的临界区对象同步。我想到了以下几点:第一个DLL将初始化一个临界区对象,其他DLL也将使用它,而不是初始化一个新的。但是我怎样才能得到指向第一个DLL的临界区对象的指针呢?我想到的一个解决方案是使用NamedSharedMemory,并将指向临界区对象的指针放在那里。它会起作用,但感觉就像用火箭筒射苍蝇一样。是否有更简单、更惯用的方法来创建具有可检索指针的命名对象? 最佳答案 一个D

c++ - 我可以使用内存映射文件传递指针吗?

我已阅读有关Memory-MappedFiles的文章和关于CreateFileMapping的例子.我的问题是:我可以使用内存映射文件在两个进程之间传递指向结构或对象的指针吗?由于有一些可能的答案,这里是我想传递的结构://FirstProcessstructOtherStruct{};structMyStruct{unsignedlonghandleObject;unsignedlong*phandleObject;OtherStructsomeData;OtherStruct*pData;}MyStructdataSend={...};WriteToMappedFile(data

c++ - 删除类数组指针时出错

尝试弄清楚为什么我在此数组指针上使用delete时会出错?正在尝试加载png图像,但不确定发生了什么错误出现在使用delete[]chunks;代码typedefstruct{charr;charg;charb;chara;}pixel;classchunk{public:unsignedcharlength[4];unsignedchartype[4];unsignedchar*data;unsignedcharCRC[4];~chunk(){delete[]data;}};classPNG{public:PNG();PNG(std::stringfilename);~PNG();v

c - 为什么 MapViewOfFile 会为 rapidxml 返回一个不可用的指针?

如建议的那样:我有一个大于2giga的文件。我正在使用以下函数映射到内存:char*ptr=(char*)MapViewOfFile(map_handle,FILE_MAP_WRITE|FILE_MAP_READ,0,0,0);我将ptr解析为接受Ch*的rapidxml。根据rapidxml的文档,ptr应该是可修改的,但由于它被声明为char*类型,因此无法完成。程序编译但在运行时崩溃并出现以下错误:访问冲突。我发现在解析char*时会发生这种情况。请问我该如何解决这个问题? 最佳答案 您正在为MapViewOfFile()的最

c++ - 类面向对象错误中的常量指针

我在下面有一个无法编译的简单示例。我收到以下关于const的警告错误信息:错误C2662:“Cfoo::GetNum”:无法将“this”指针从“constCfoo”转换为“Cfoo&”转换丢失限定符classCfoo{public:boolRunMe(constCfoo*bar){inti=bar->GetNum();}intGetNum(){return7;}};int_tmain(intargc,_TCHAR*argv[]){Cfooa;Cfoob;b.RunMe(&a);return0;}起初我认为这与GetNum不返回常量值有关。改变似乎没有帮助。我做错了什么?建议、提示、示

c++ - 来自系统存储的证书上下文始终具有无效的 pbCertEncoded 指针

我正在尝试在CryptoAPI中使用CertEnumCertificatesInStore()来遍历所有根证书并将它们编码为PEM文件以用于OpenSSL。我已经找到了几个这样的例子,所以它似乎是可能的,但是,我为每个证书返回的PCCERT_CONTEXT都有一个无效的pbCertEncoded指针和cbCertEncoded(缓冲区大小)始终为0,但我觉得这不应该是作为示例的案例使用编码缓冲区将证书转换为其他格式。有没有其他人遇到过这个获取空缓冲区的问题或者可以看到我遗漏的步骤?我已经验证我实际上正在使用CryptUIDlgViewContext()函数获取证书。我觉得我缺少一些非常

智能车竞赛模糊PID过程详解,附matlab模拟代码,使用的C代码在我的另一篇文章中

目录普通位置式PID控制 模糊PID控制区间划分模糊化清晰化改进模糊PID的MATLAB代码模糊PID的m测试使用文件,可一步步运行了解详细过程模糊PID的主函数和功能函数matlab代码模糊PID的使用和调参技巧普通位置式PID控制PID控制分为比例,微分,积分三项,其公式如下:U(t)=Kp∗err(t)+Kd∗[err(t)−err(t−1)]+Ki∗∑err(t) PID控制的比例环节为P,P越大参数的比例作用越明显,响应更快,消除误差的能力越强,但是系统的惯性也越强。比例太大时会造成系统的震荡,使系统不稳定,造成超调。PID控制的微分环节为D,D能够反映偏差的变化趋势,对超调进行预防

python - 扫描智能卡时如何检测事件

我正在使用智能卡读卡器开发基于智能卡的应用程序,在这里,每当我刷卡时,我都应该获得卡的UID,基于此我需要从数据库中检索详细信息。对于这个需要我如何开始,我是否需要在始终运行后台的窗口上创建服务或有没有办法检测操作系统上的事件或任何调度程序。我能够获取UID和相关信息,但我需要在外部运行该程序。请就此问题向我提出建议,在此先感谢。 最佳答案 如果您使用USB或串行连接将读卡器连接到电脑,.您可以使用串行端口类的数据接收事件。 关于python-扫描智能卡时如何检测事件,我们在StackO

c# - 使用回调检查鼠标指针状态

我需要一个可靠的方法来检查鼠标指针状态,并计算它改变了多少次,例如从“正常”指针到沙漏/圆圈,反之亦然。它是测量响应时间的性能测试的一部分,确定某个业务流程是否完成的唯一方法是观察鼠标指针,并计算它从“正常”到“繁忙”的次数以及再次回来。一旦完成两次,该过程就完成了。我知道-这很糟糕,而且是一种垃圾解决方法,但这是我唯一可以使用的东西。我已经实现了一些可行的方法,但它有一个关键的弱点:如果鼠标指针在线程进入休眠状态时发生变化,那么我将“错过”这一变化,从而错过退出条件。我会将等待时间减少到5或10毫秒,但这仍然不是一个好的解决方案。这是我的代码,让您了解发生了什么:TimeSpanti

windows - Windows 中的智能卡登录是否绑定(bind)到微型驱动程序和 MS 基本 CSP 或任何 CSP 都可以工作?

作为开发人员,我应该为windows提供什么智能卡登录功能?只有微型驱动程序+现有的基础智能卡csp工作吗或者,如果我开发了一个完整的CSP,我可以让智能卡登录正常工作吗? 最佳答案 你应该阅读TheSmartCardCryptographicServiceProviderCookbook.仔细查看Windows2000交互式登录部分。它具有您需要在CSP中实现的所有功能以及调用这些功能的顺序。 关于windows-Windows中的智能卡登录是否绑定(bind)到微型驱动程序和MS基本