草庐IT

unary_function

全部标签

c++ - std::bind 和 std::function 问题

intfunc(intx){returnx;}...std::functionx=std::bind(func,std::placeholders::_1);x(123);是否x(123)实际上调用operator()std::function的仿函数生成它又调用operator()std::bind的仿函数生成最终调用func?这是否被优化为与调用func(123)一样优化的东西??仿函数住在哪里std::bind产生?在什么范围内?std::bind如何命名?(会不会有名称冲突)lambdas能否替代std::bind的所有用法??是std::bind与将其实现为lambda一样最

windows - native 退出,代码为 : -1073741510 (0xc000013a) while using prime checker function

我一直在尝试创建我自己的素数检查器函数,虽然奇怪的是当我调用isPrime(7)时它返回1,这很好,但是当我调用isPrime(9)时它给我以下错误:“Mathematics.exe”:已加载“C:\DocumentsandSettings\mbryant\MyDocuments\VisualStudio2010\Projects\Mathematics\Debug\Mathematics.exe”,已加载符号。“Mathematics.exe”:已加载“C:\WINDOWS\system32\ntdll.dll”,无法找到或打开PDB文件“Mathematics.exe”:已加载“C

c++ - 指向任意函数的 "general function signature"指针

我会尝试更好地解释我想做什么。我读取了一个带有函数签名的文件,我想创建一个指向每个函数的指针。例如,一个看起来像这样的文件:something.dll;intf(char*x,inty,SOMESTRUCTz)something.dll;voidg(void)something.dll;SOMESTRUCTl(longlongw)现在,在运行时我希望能够创建指向这些函数的指针(通过加载something.dll并对这些函数使用GetProcAddress)。现在,GetProcAddress返回指向任意函数的FARPROC,但如何在运行时使用FARPROC调用这些函数?据我所知,我需要

c++ - 如何告诉 link.exe 使用 wmain 作为入口点。 LNK2019 : unresolved external symbol main referenced in function __tmainCRTStartup

我有一个通过visualstudio构建和链接的项目,但不是通过我们的构建系统。据我所知,如果定义了UNICODE,tchar.h包含一个将_tmain转换为wmain的宏。我检查了预处理器输出,确实_tmain已被wmain替换。包含wmain的文件随后编译得很好,但链接器提示main未定义。LNK2019:函数__tmainCRTStartup中引用的未解析外部符号mainwmain是否被我没有正确包含的另一组宏转换为main(由于缺少-D选项等),或者link.exe是否有一个指定入口点的特殊标志。谢谢。手动指定/entry:mainCRTStartup修复了它。编辑:我刚刚检查

Python ctypes : SetWindowsHookEx callback function never called

我正在尝试用Python编写一个程序,它知道何时显示警告框/对话框。它处理多个显示器,我希望它在任务栏图标闪烁、弹出错误/通知等时在辅助显示器上显示可视化。据我所知,检测这些事件的方法是使用消息Hook,如下所述:http://msdn.microsoft.com/en-us/library/ms632589%28v=vs.85%29.aspx我什至幸运地找到了一个从Python访问SetWindowsHookEx函数的示例。(此特定示例使用鼠标信号,但我可以更改常量以监听不同的消息)。http://www.python-forum.org/pythonforum/viewtopic.

java - JNA 库,缺少 Windows 函数 : how to add new functions?

我有一个关于Java和jna库的问题。我已经从java.net下载了两个jar(jna.jar和platform.jar)。在com.sun.jna.platform.win32包中已经定义了一些链接windll的接口(interface),但是在Kernel32文件中,有一个函数是缺少,函数是DeviceIoControl。我的问题是:我在哪里可以找到所有Windowsdll的完整列表以及所有功能的完整列表,可能还有所有Windows版本的兼容性列表?(很重要)从msdn站点我找到了完整的函数列表,其中包含函数所在的库的名称,但没有找到其他函数。我能否创建一个扩展Kernel32的新

.net - Windows 服务未启动 : "The service is not responding to the control function."

我一直在浏览Walkthrough:CreatingaWindowsServiceApplicationintheComponentDesigner在MSDN上。我有一些代码并安装了我的服务:我的代码如下:namespaceWindowsServiceWalkthrough{usingSystem;usingSystem.Diagnostics;usingSystem.ServiceProcess;usingSystem.Timers;usingSystem.Runtime.InteropServices;publicpartialclassMyNewService:ServiceBa

windows - 如何解决LNK2019 unresolved external symbol DriverEntry referenced in function GsDriverEntry?

当我编译这个项目时https://github.com/namazso/hdd_serial_spoofer我收到上面的错误信息,我该如何解决?我正在使用vs2017和wdk10。(必须在release中编译,不支持Debug模式。本项目中没有DriverEntry函数,hwid.cpp中的EntryPoint(void*ntoskrn,void*image,void*alloc)函数才是真正的入口点。)我做了很多研究,但还是没能成功。我是内核模式驱动程序开发的菜鸟。 最佳答案 该项目使用(一个明显被忽略的)选项定义EntryPoi

.net - 解决错误 C3821 : managed type or function cannot be used in an unmanaged function

我正在编写一个C++/CLI层来处理一些互操作。nativeAPI填充涉及固定数组、联合、匿名结构等的复杂结构:typedefstructDECLSPEC_ALIGN(16)_FOO{union{BARBar;struct{POPArray[8];DWORDMore;};};}FOO,*PFOO;我正在尝试将此数据结构转换为更“合理”的.NET类,以供C#使用。问题是,我不能在同一个函数中使用这个遗留结构和gcnew我的新类:Foo^Test::GetFoo(HANDLEh){FOOfoo;//Necessarilyunmanagedif(!::GetFoo(h,&foo))throw

c++ - 看似毫无意义的#define of function

我遇到过一些代码:BOOLCBlahClass::SomeFunction(DWORD*pdw){RETURN_FALSE_IF_FILE_DOESNT_EXIST//therestofthecodemakessense...//...}除了我对这条线有一点疑问外,我看到的一切都很有道理RETURN_FALSE_IF_FILE_DOESNT_EXIST我搜索了这个字符串并找到了#define:#defineRETURN_FALSE_IF_FILE_DOESNT_EXIST\if(FALSE==DoesFileExist())returnFALSE;我的问题是……到底是什么?像这样制作#