当我尝试编译我的程序时,我收到此错误:
error: ‘_byteswap_ushort’ was not declared in this scope
long lNum = (long)_byteswap_ushort(iNum);
这是该计划:
#include <iostream>
#include <sstream>
#include <stdlib.h>
using namespace std;
int main()
{
long inputNum;
cout << "Input number:\n";
cin >> inputNum;
long Num = (long)_byteswap_ulong(iNum);
stringstream oss;
oss << hex << Num;
string mystring = oss.str();
return 0;
}
我认为包括stdlib应该解决问题。我应该包括其他任何图书馆吗?
该程序编译为:
g++ -m32 -o output32 prog.cpp
答案 0 :(得分:3)
您似乎正在尝试使用特定于MS Visual C ++编译器的函数,这在GCC中不可用。请改用相应的GCC builtin。
在这种情况下,似乎B2=(Mat.return)[sample(nrow((Mat.return)),size=80,replace=TRUE),][,c(2:251)]
似乎是合适的。
如果您想要一个可移植的解决方案,另一种选择是使用类似Boost Endian library的内容。