草庐IT

c++ - Windows WiFi 网络设备

我正在为Windows创建一个WiFi程序,我是网络编程的新手。我正在使用nativeWifiAPI来获取有关网络的信息,但现在我想要有关连接到网络的其他设备的信息。有人知道我应该学习什么来完成这个吗?我需要使用winsock吗? 最佳答案 您可以通过UPnP执行此操作(假设您的AP支持UPnP,但大多数支持)。您将连接到您的UPnP接入点的WLANConfiguration服务,并读取TotalAssociations以获取关联设备的数量,以及AssociatedDeviceMACAddress和/或AssociatedDevic

c - 在单个 udp 服务器中处理 40 个客户端的可能算法

我正在研究udp服务器/cient应用程序。我希望我的服务器一次能够处理40个客户端。现在我正在使用创建一个接收线程的方法,该线程连续接收数据,并在需要时创建一个发送线程来发送数据。由于套接字队列足够大,可以缓冲来自40个客户端的数据,所以我只使用一个接收线程。实现这种单服务器多客户端的其他可能方法是什么申请? 最佳答案 您当然可以运行多个服务器线程,但每个线程都必须监听不同的UDP端口。如果这对您来说没问题,请尝试使用多个线程,但不要超过您拥有的处理器内核数。由于线程切换,除此之外的任何事情都会减慢整个过程。您可以尝试的另一件事是

c - 如何测量 program.exe 启动时间?

我想测量我的程序exe启动时间呢是从点击或[enter]开始的时间如果从控制台或任何其他方式启动直到程序启动完成的时刻和它的代码可以在所有结构设置的情况下执行(可能这意味着当main()中的第一个命令被执行[?])我想以编程方式从在我的代码中-所以我想办法做到这一点需要读取准确的发射时间程序然后从中减去这次第一行代码执行时间(抱歉我的英语不好)怎么做? 最佳答案 您要从单击或[enter](包括shell(cmd.exe或Windows资源管理器)开销)还是从程序启动进行测量?以编程方式,您只能从进程创建开始计算时间,因此不包括查找

c++ fstream不打印像ρ和Δ这样的符号来正确归档

当使用fstream将这些符号打印到文件时,我得到了一个困惑的结果。使用:file这在Linux中工作正常,但是当我为Windows编译它时它不工作。是否有特定的方法可以在Windows中进行此操作? 最佳答案 以下应该适用于MSVC2010。使用std::codecvt_utf8_utf16将宽字符转换为UTF-8字节流:#include#includeintmain(){std::wofstreamfile("myfile",std::ios::out|std::ios::binary);file.imbue(std::loca

c++ - 编译 64 位时的问题 (0xc000007b)

我正在开发一个Kinect项目,它使用MSKinectSDK和facetracker。代码在Win32上编译和运行完美,但我试图让它在x64上运行。我正在使用VisualStudio,我创建了这个x64版本并将所有库位置更新为amd64的位置,并且它编译正确。当我尝试运行x64调试时,我收到以下警告:VS2012输出如下:'KinectMain.exe'(Win32):Loaded'C:\Users\Jacko\Documents\GitHub\KinectMain\x64\Debug\KinectMain.exe'.Symbolsloaded.'KinectMain.exe'(Win

c - getchar() 没有按预期运行?

所以,我在VisualStudio2012Ultimate中使用getchar得到了一些奇怪的结果。这是我能想出的最简单的例子来证明这不是代码错误,而是其他原因。#includeintmain(intargc,char*argv[]){charc=getchar();putchar(c);return0;}但是,结果(在视觉上)表现得有点像iostream库中的“cin”。getchar按原样返回一个字符(第一个),但是当我按下键时,它会在屏幕上显示字符并且在我按下回车键之前不会返回。我搜索了一下,并没有真正找到任何其他发生这种情况的案例,有没有人知道这里发生了什么?

c - 将可变长度结构从用户模式传递到内核模式

我正在写虚拟磁盘驱动程序,我有这样定义的结构:typedefstruct_MOUNT_NEW_QUERY{PWCHARimagePath;WCHARletter;PCHARkey;}MOUNT_NEW_QUERY,*PMOUNT_NEW_QUERY;所以我有一种动态大小的结构。我必须如何将它从用户模式传递到我的驱动程序? 最佳答案 分配一个连续的内存块,足以容纳你的结构和“键”和“路径”的数据——像这样:/*weadd+1forterminatingNULLstomakelifeeasy*/size_tkeyLen=(strlen(

c++ - 如何在基于 C++/QT 的安装程序中检测互联网断开连接

我们正在开发与Dropbox非常相似的win-mac文件同步安装程序。安装程序是用C++和QT构建的。我们有一个用例,如果互联网断开连接(拔下网络电缆(或)未连接到任何wifi),那么基本上无法访问网络,在这种情况下,我们需要使安装程序离线。我尝试了几种方法,比如持续轮询我们的网络服务器。如果我们无法到达,那么我们将检测为互联网断开连接。由于某些原因,我们希望有一个干净的native实现,它将寻找机器网络连接。我什至试过http://msdn.microsoft.com/en-us/library/aa965303%28VS.85%29.aspx对于Windows但在wifi情况下这会

c - 在函数中传递指向 SOCKADDR_IN 和 SOCKET 的指针

我有一个函数createServerSocket()。多个线程可以访问此函数以创建它们的套接字。我希望每个线程向createrServerSocket()函数传递三个参数,一个socketIdentifier、*sockaddr_in*和特定的端口号,所以每个线程都有一个唯一的套接字。为此,我将socketIdentifier、*sockaddr_in*和特定的端口号作为指针传递给createrServerSocket()函数,以便创建的socketIdentifier和套接字必须可以在线程内访问.下面是我的代码片段:VOIDcreateServerSocket(SOCKADDR_IN

c++ - 如何在 Windows 上使用 C++ 中的 SWIG for D?

我想在D中使用LEAPMotion。因此它没有C库,只有C++库。我在命令下尝试了SWIG2.0.9。swig-c++-d-d2leap.i此命令输出Leap.d、Leap_im.d、Leap_wrap.cxx、Leap_wrap.h。但是,我不知道如何在D中使用包装器,也找不到如何使用包装器。显示链接错误以完整使用它。如何在D2中使用这些包装器?我可以在没有Leap.cpp(Leap.dll的来源)的情况下使用吗?更新:谢谢两位的回答。很抱歉因为忙所以回复晚了。先说结论,我可以按照以下步骤在Win64上构建Leap示例代码。通过上述命令输出包装器。使用VC2010从Leap_wrap