Differenze tra le versioni di "Htonl ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "https://linux.die.net/man/3/ntohs")
 
Riga 1: Riga 1:
 +
La funzione '''htonl()''', dichiarata nel file header ''/usr/include/netinet/in.h'':
 +
uint32_t htonl (uint32_t __hostlong)
 +
converte il numero intero senza segno a 32-bit (''unsigned int'' ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete.
 +
<BR>In sostanza questa funzione inverte l'ordine dei byte su una macchina ''little-endian''.
 +
 +
Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
 +
Private <FONT color=#B22222>Extern '''htonl'''</font>(__hostlong As Integer) As Integer In "libc:6"
 +
Semplice esempio uso in Gambas:
 +
Library "libc:6"
 +
 +
<FONT color=gray>' ''uint32_t htonl (uint32_t __hostlong)''
 +
' ''Function to convert between host and network byte order.''</font>
 +
Private Extern <FONT color=#B22222>htonl</font>(__hostlong As Integer) As Integer
 +
 +
 +
Public Sub Main()
 +
 +
  Print Hex(ntohl(&12345678), 6)
 +
 +
End
 +
 +
 +
 +
=Riferimenti=
 
https://linux.die.net/man/3/ntohs
 
https://linux.die.net/man/3/ntohs

Versione delle 10:40, 2 lug 2023

La funzione htonl(), dichiarata nel file header /usr/include/netinet/in.h:

uint32_t htonl (uint32_t __hostlong)

converte il numero intero senza segno a 32-bit (unsigned int ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete.
In sostanza questa funzione inverte l'ordine dei byte su una macchina little-endian.

Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern htonl(__hostlong As Integer) As Integer In "libc:6"

Semplice esempio uso in Gambas:

Library "libc:6"

' uint32_t htonl (uint32_t __hostlong)
' Function to convert between host and network byte order.
Private Extern htonl(__hostlong As Integer) As Integer


Public Sub Main()

 Print Hex(ntohl(&12345678), 6)

End


Riferimenti

https://linux.die.net/man/3/ntohs