Differenze tra le versioni di "Htons ()"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 3: | Riga 3: | ||
converte il numero intero corto senza segno a 16-bit (''unsigned short int'' ) del parametro "__hostlong" dall'ordine dei byte dell'host all'ordine dei byte della rete. | converte il numero intero corto senza segno a 16-bit (''unsigned short 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''. | <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: | 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 ''' | + | Private <FONT color=#B22222>Extern '''htons'''</font>(__hostlong As Short) As Short In "libc:6" |
Semplice esempio uso in Gambas: | Semplice esempio uso in Gambas: | ||
Library "libc:6" | Library "libc:6" | ||
Riga 16: | Riga 17: | ||
Public Sub Main() | Public Sub Main() | ||
− | Print Hex( | + | Print Hex(<FONT color=#B22222><B>htons</b></font>(&1234), 4) |
End | End |
Versione attuale delle 15:20, 13 giu 2024
La funzione htons(), dichiarata nel file header /usr/include/netinet/in.h:
uint16_t htons (uint16_t __hostshort)
converte il numero intero corto senza segno a 16-bit (unsigned short 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 htons(__hostlong As Short) As Short In "libc:6"
Semplice esempio uso in Gambas:
Library "libc:6" ' uint16_t htons (uint16_t __hostshort) ' Function to convert between host and network byte order. Private Extern htons(__hostlong As Short) As Short Public Sub Main() Print Hex(htons(&1234), 4) End