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