Existe algo dependente do sistema operacional sobre o gcc que causaria uma mudança significativa entre as duas versões? As duas versões são mesmo diferentes? Só quero ter certeza, porque testo meu código no onlinegdb, mas compilo paranóico e verifico no servidor CentOS da minha escola antes de enviar. Estou me perguntando se isso é necessário.
relate perguntas
-
smartmontools - O teste automático é o mesmo que executar um teste curto?
-
comando systemctl não funciona no RHEL 6
-
Por que meu switch não está obtendo um endereço do pool especificado
-
Criando menus personalizados na guia do menu Aplicativos no CentOS7 GNOME
-
Roteador estranho funciona com centos 6 [fechado]
Concordo com @fox, mas, além disso, há comportamento dependente da plataforma e comportamento indefinido (o GCC tentou defini-los onde pode). Eles podem diferir de acordo com o sistema operacional e o hardware da plataforma. No entanto, o Gcc tentará manter as coisas consistentes (onde puder).
Um exemplo de diferenças, será o tamanho do
long int
esize_t
os tipos de dados podem ser de 32 bits ou 64 bits. (em outros compiladores eles também podem ser de 8 bits ou 16 bits).O site que você mencionou está usando o GCC 5, enquanto o CentOS parece usar pelo menos o GCC 7. Mas é por isso que temos padrões. O código C99 válido será compilado em qualquer plataforma muito bem. Ele será executado da mesma forma (embora possivelmente mais rápido ou mais lento), a menos que você esteja fazendo algo como usar bibliotecas específicas da plataforma ou estruturas de serialização "incorretamente" sem se preocupar com o endian (se as arquiteturas do host forem diferentes)
tl;dr: para coisas que você faria para a escola, é improvável que as diferenças sejam significativas