Extern: Llamar Funciones Externas A Gambas
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
Al fin logre hacer un ejemplo, creo que por primera vez voy comprendiendo como es el asunto de las librerías externas.
También me doy cuenta del poder que esto significa para cualquier aplicación, estamos hablando de aprovechar millones de librerías disponibles.
aquí el código:
el ejemplo lo subí a la granja y pronto lo subo a mi blog
ando con ganas de hacer un ejemplo con java y otro con python a ver si me salen
Saludos
También me doy cuenta del poder que esto significa para cualquier aplicación, estamos hablando de aprovechar millones de librerías disponibles.
aquí el código:
' Declarada la libreria que contiene la función externa que usaremos.
Library "libc:6"
'Experimenta con este código para aprender la razón de los errores
'Library "libc:5"
'Library "libc"
'Declara la función externa.
'Devuelve una cadena que describe el significado del número de señal.
Private Extern strsignal(senal As Integer) As String
Public Sub Form_Open()
Dim a As Integer
Dim informe As String
Me.Title = "Uso de función externa"
For a = 0 To 40
Print "Número de señal=" & a & " --->" & strsignal(a)
informe &= "Número de señal=" & a & " --->" & strsignal(a) & gb.NewLine
Wait 0.2
Next
TextArea1.Text = informe
TextArea1.Pos = 0
End
' postapase@postapase / $ locate libc.so
' /lib/i386-linux-gnu/libc.so.6 <------ Library "libc:6"
' /usr/lib/i386-linux-gnu/libc.so
'
Public Sub URLLabel1_Click()
Desktop.Open(URLLabel1.Link)
End
Library "libc:6"
'Experimenta con este código para aprender la razón de los errores
'Library "libc:5"
'Library "libc"
'Declara la función externa.
'Devuelve una cadena que describe el significado del número de señal.
Private Extern strsignal(senal As Integer) As String
Public Sub Form_Open()
Dim a As Integer
Dim informe As String
Me.Title = "Uso de función externa"
For a = 0 To 40
Print "Número de señal=" & a & " --->" & strsignal(a)
informe &= "Número de señal=" & a & " --->" & strsignal(a) & gb.NewLine
Wait 0.2
Next
TextArea1.Text = informe
TextArea1.Pos = 0
End
' postapase@postapase / $ locate libc.so
' /lib/i386-linux-gnu/libc.so.6 <------ Library "libc:6"
' /usr/lib/i386-linux-gnu/libc.so
'
Public Sub URLLabel1_Click()
Desktop.Open(URLLabel1.Link)
End
el ejemplo lo subí a la granja y pronto lo subo a mi blog
ando con ganas de hacer un ejemplo con java y otro con python a ver si me salen
Saludos
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
Bravo, v3ctor: abriste para ti un nuevo vasto mundo !
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
Gracias a vos vuott que pusiste la piedra angular en el tema de librerías externas! en estos días voy a estudiar y practicar mucho con las librerías externas así afirmo lo básico que hoy aprendí y me vuelvo mas hábil
mirando el código fuente de las funciones he visto muchas que son muy simples e ideales para hacer ejemplos.
tanto que sin saber c++ se puede entender mas o menos lo que hace la función.
Saludos.
vuott escribió: [Ver mensaje]
Gracias a vos vuott que pusiste la piedra angular en el tema de librerías externas! en estos días voy a estudiar y practicar mucho con las librerías externas así afirmo lo básico que hoy aprendí y me vuelvo mas hábil
mirando el código fuente de las funciones he visto muchas que son muy simples e ideales para hacer ejemplos.
tanto que sin saber c++ se puede entender mas o menos lo que hace la función.
Saludos.
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
esta página puede ayudar a los que quieran incursionar en este tema.
http://c.conclase.net/curso/?cap=902f
http://c.conclase.net/curso/?cap=902f
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
otra cosa que me olvidaba, para que nos sea mas fácil identificar funciones dentro de los archivos c o c++
podes usar el programa Geany
http://www.geany.org/
podes usar el programa Geany
http://www.geany.org/
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
...es suficiente buscar en los archivo header (.h) que contienen los prototipos de las funciones de una librería.
v3ctor escribió: [Ver mensaje]
...es suficiente buscar en los archivo header (.h) que contienen los prototipos de las funciones de una librería.
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
v3ctor, el momento más complicado será cuando tú tendrás que gestionar utilizando eventuales Estructuras externas !
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
tienes razón... mira que fácil....
/* Copy SRC to DEST. */
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Copy no more than N characters of SRC to DEST. */
extern char *strncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
/* Append SRC onto DEST. */
extern char *strcat (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Append no more than N characters from SRC onto DEST. */
extern char *strncat (char *__restrict __dest, const char *__restrict __src,
size_t __n) __THROW __nonnull ((1, 2));
/* Compare S1 and S2. */
extern int strcmp (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare N characters of S1 and S2. */
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare the collated forms of S1 and S2. */
extern int strcoll (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((2));
__END_NAMESPACE_STD
vuott escribió: [Ver mensaje]
tienes razón... mira que fácil....
/* Copy SRC to DEST. */
extern char *strcpy (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Copy no more than N characters of SRC to DEST. */
extern char *strncpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
/* Append SRC onto DEST. */
extern char *strcat (char *__restrict __dest, const char *__restrict __src)
__THROW __nonnull ((1, 2));
/* Append no more than N characters from SRC onto DEST. */
extern char *strncat (char *__restrict __dest, const char *__restrict __src,
size_t __n) __THROW __nonnull ((1, 2));
/* Compare S1 and S2. */
extern int strcmp (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare N characters of S1 and S2. */
extern int strncmp (const char *__s1, const char *__s2, size_t __n)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Compare the collated forms of S1 and S2. */
extern int strcoll (const char *__s1, const char *__s2)
__THROW __attribute_pure__ __nonnull ((1, 2));
/* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t strxfrm (char *__restrict __dest,
const char *__restrict __src, size_t __n)
__THROW __nonnull ((2));
__END_NAMESPACE_STD
Objetivo: Re: Extern: Llamar Funciones Externas A Gambas
archivos c : .h y .c
archivos c++ : .hh y .cc
también da la información cuando ponemos en vistas: ver lista
dejo otra página que encontré con mucha info sobre librerías y sus funciones y descripciones(para que sirven)
http://www.cplusplus.com/reference/clibrary/
vuott escribió: [Ver mensaje]
archivos c : .h y .c
archivos c++ : .hh y .cc
también da la información cuando ponemos en vistas: ver lista
dejo otra página que encontré con mucha info sobre librerías y sus funciones y descripciones(para que sirven)
http://www.cplusplus.com/reference/clibrary/
Página 2 de 3
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.4118s (PHP: -80% SQL: 180%)
Consultas SQL: 44 - Debug off - GZIP Activado