草庐IT

可移植

全部标签

c++ - 可移植轻量级 C++ 套接字包装器

我真的认为这会更容易找到......我需要一个可移植的c++套接字包装器。我打算将它用于Windows服务器应用程序和将在运行ulinux(或类似的东西)的嵌入式设备上运行的客户端。我会使用Boost,但我需要它轻巧且易于添加到嵌入式设备项目中。我还希望它是一个“更高级别”的包装器......所以它启动一个后台线程来读取数据并通知回调......有什么想法吗? 最佳答案 我建议Boost.Asio.尽管有它的名字,但您不必强制使用异步I/O。正如您的问题所暗示的,您可以使用同步I/O和线程。Boost.Asioisacross-pl

c++ - 可移植轻量级 C++ 套接字包装器

我真的认为这会更容易找到......我需要一个可移植的c++套接字包装器。我打算将它用于Windows服务器应用程序和将在运行ulinux(或类似的东西)的嵌入式设备上运行的客户端。我会使用Boost,但我需要它轻巧且易于添加到嵌入式设备项目中。我还希望它是一个“更高级别”的包装器......所以它启动一个后台线程来读取数据并通知回调......有什么想法吗? 最佳答案 我建议Boost.Asio.尽管有它的名字,但您不必强制使用异步I/O。正如您的问题所暗示的,您可以使用同步I/O和线程。Boost.Asioisacross-pl

c++ - 如何在没有编译器警告的情况下进行可移植的 64 位算术

我偶尔会在我的开源C++库中使用64位算术。我发现longlong非常适合我的目的。甚至一些有10年历史的solaris盒子也可以编译它。而且它也可以在Windows上使用#defines,而不会乱七八糟。现在的问题是我收到了用户的提示,因为他们使用GCC-pedantic设置进行编译,而GCC坚持发出警告说longlong不是C++标准的一部分。这可能是对的,但我对C++标准本身并不太感兴趣,我只是希望我的代码能够在尽可能多的编译器上工作。所以我的问题是双重的:谁能说出不支持64位longlong的实际C++编译器?有没有办法让GCC编译64位算术(在32位平台上)而没有编译器警告?

c++ - 如何在没有编译器警告的情况下进行可移植的 64 位算术

我偶尔会在我的开源C++库中使用64位算术。我发现longlong非常适合我的目的。甚至一些有10年历史的solaris盒子也可以编译它。而且它也可以在Windows上使用#defines,而不会乱七八糟。现在的问题是我收到了用户的提示,因为他们使用GCC-pedantic设置进行编译,而GCC坚持发出警告说longlong不是C++标准的一部分。这可能是对的,但我对C++标准本身并不太感兴趣,我只是希望我的代码能够在尽可能多的编译器上工作。所以我的问题是双重的:谁能说出不支持64位longlong的实际C++编译器?有没有办法让GCC编译64位算术(在32位平台上)而没有编译器警告?

c++ - 如何在可移植代码中验证 Microsoft 可移植可执行格式的数字签名?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭5年前。Improvethisquestion我正在寻找可以帮助我使用C++在非Windows平台上验证WindowsPE文件(.exe、.dll、.cab、.etc)的数字签名的示例代码(或库)。我正在寻找一种独立于平台的方法。谢谢! 最佳答案 您可以查看WINE的WinVerifyTrustimplementation完整的程序化方式。实际上,

c++ - 如何在可移植代码中验证 Microsoft 可移植可执行格式的数字签名?

已结束。此问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。关闭5年前。Improvethisquestion我正在寻找可以帮助我使用C++在非Windows平台上验证WindowsPE文件(.exe、.dll、.cab、.etc)的数字签名的示例代码(或库)。我正在寻找一种独立于平台的方法。谢谢! 最佳答案 您可以查看WINE的WinVerifyTrustimplementation完整的程序化方式。实际上,

c++ - 这个 C++ 代码是可移植的吗? (假设多维数组有连续的内存布局)

首先,如果我犯了任何语法错误等,对不起我的英语......我的问题是,当我们有一个二维数组时,如果我是对的,从计算机和C/C++的角度来看,它只是一个长的一维数组,索引只是帮助编译器映射到具体地址。这个代码片段在VisualC++中工作,但是我想知道,这个代码是否可移植和符合到标准(C++98),不会对其他架构和/或操作系统造成意外:intarr[][3]={1,5,3,7,5,2,7,8,9};constintARR_NUM=sizeof(arr)/sizeof(int);int*ptr=reinterpret_cast(arr);//NOT:int(*)[][3]!!!for(in

c++ - 这个 C++ 代码是可移植的吗? (假设多维数组有连续的内存布局)

首先,如果我犯了任何语法错误等,对不起我的英语......我的问题是,当我们有一个二维数组时,如果我是对的,从计算机和C/C++的角度来看,它只是一个长的一维数组,索引只是帮助编译器映射到具体地址。这个代码片段在VisualC++中工作,但是我想知道,这个代码是否可移植和符合到标准(C++98),不会对其他架构和/或操作系统造成意外:intarr[][3]={1,5,3,7,5,2,7,8,9};constintARR_NUM=sizeof(arr)/sizeof(int);int*ptr=reinterpret_cast(arr);//NOT:int(*)[][3]!!!for(in

c++ - 是否有 C++ 位域的可移植替代品

在很多情况下(尤其是在低级编程中),数据的二进制布局很重要。例如:硬件/驱动程序操作、网络协议(protocol)等。在C++中,我可以使用char*和按位运算(掩码和移位)读取/写入任意二进制结构,但这很乏味且容易出错。显然,我试图限制这些操作的范围,并将它们封装在更高级别的API中,但这仍然很痛苦。C++bitfields似乎为这个问题提供了一个对开发人员友好的解决方案,但不幸的是他们的存储是implementationspecific.NathanOliver提到了std::bitset,它基本上允许您使用一个不错的operator[]访问整数的各个位,但缺少多位字段的访问器。使

c++ - 是否有 C++ 位域的可移植替代品

在很多情况下(尤其是在低级编程中),数据的二进制布局很重要。例如:硬件/驱动程序操作、网络协议(protocol)等。在C++中,我可以使用char*和按位运算(掩码和移位)读取/写入任意二进制结构,但这很乏味且容易出错。显然,我试图限制这些操作的范围,并将它们封装在更高级别的API中,但这仍然很痛苦。C++bitfields似乎为这个问题提供了一个对开发人员友好的解决方案,但不幸的是他们的存储是implementationspecific.NathanOliver提到了std::bitset,它基本上允许您使用一个不错的operator[]访问整数的各个位,但缺少多位字段的访问器。使