Em uma compilação nativa, o código a seguir imprime -1
. Compilado para WASM e executado em node.js, ele imprime 4294967295
. Por que os resultados são diferentes?
#include <iostream>
int main() {
unsigned F = 20;
long HB = 19; // both give -1 if this is `long long`
std::cout << HB-F << std::endl;
return 0;
}
Isso é feito g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
como compilador nativo e em++ 3.1.66 (1f519517284660f4b31ef9b7f921bf6ba66c4041)
para o emscripten compilar para WASM.