- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有我通过 CLI 包装器从 C# 使用的 native dll 项目。在我正在调用的 dll 的 Initialize
方法中
WSAStartup(MAKEWORD(2, 2), &data);
这很好用。现在我决定将整个 dll 移动到 boost::asio(因为我将把它移植到 Linux 并且我想启用/Za 编译器选项)。
问题是 - 我应该在哪里以及如何替换 WSAStartup
调用?
最佳答案
Boost.Asio
在 main()
之前初始化 Winsock
- 它为此目的使用静态对象。以下是 winsock_init.hpp
的摘录:
// Static variable to ensure that winsock is initialised before main, and
// therefore before any other threads can get started.
static const winsock_init<>& winsock_init_instance = winsock_init<>(false);
因此,在您的情况下,Winsock
将在加载 dll 时进行初始化。
(也就是说,恐怕你不能在Windows下用/Za
编译Asio
,但你也不必为了使您的代码可移植到 Linux。)
关于c++ - 如何替换 WSAStartup( MAKEWORD(2, 2), &data );带 boost :asio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16260891/
我需要将一些 C++ 遗留代码转换为 C#,我想知道 MAKEWORD C++ Windows 宏的 C# 等效项是什么? 最佳答案 public static uint MakeWord(byte
这些功能很有用: function MakeWord(low, high: char): word; begin result := byte(high) shl 8 + byte(low); e
我正在使用 cpp、套接字、json 和 winsock2 编写一个项目来创建服务器和客户端之间的连接,我正在使用 winsock2.h 中的函数 WSAStartup 来启动连接。我从互联网上的代码
// Rebuild the "Assign Flags" m_dwStudentAssignFlags = MAKEWPARAM( MAKEWORD(bIncluded[INDEX(Stud
我有我通过 CLI 包装器从 C# 使用的 native dll 项目。在我正在调用的 dll 的 Initialize 方法中 WSAStartup(MAKEWORD(2, 2), &data);
愚蠢但快速的问题:我如何在 VBA 中生成一个值(例如 Integer 类型),其字节对应于 C++ 通过调用 MAKEWORD(2,2) 生成的值? // c++: MAKEWORD(2,2) //
我是一名优秀的程序员,十分优秀!