https://foro.gambas-es.org/viewtopic.php?f=5&t=8014&p=48405#p48405
-----------------------------------
tercoIDE
Viernes, 08 May 2020, 15:41

Re: Cuantas Veces Se Repite Una Cadena En Otra.
-----------------------------------
[quote user="vuott" post="48273"]
Por ejemplo, creando una función externa:  :-D 

[code linenumbers=false syntax=gambas]Library "/tmp/lib_Occorrenze"

' int Occorrenze(const char *stringa, const char *substr)
' Ritorna il numero di occorrenze di una sottostringa all'interno di una stringa.
Private Extern Occorrenze(stringa As String, substr As String) As Integer


Public Sub Main()

Dim s, su As String 
Dim i As Integer

' Va a generare l'apposita libreria dinamica condivisa esterna:
 CreaSo()

' La stringa è la seguente:
 s = "mela pera arancia limone pera banana noce mela fico pera noce"
 
' La sottostringa di cui conoscere il numero di occorrenze:
 su = "pera"
 
 i = Occorrenze(s, su)
 
 Print "Numero occorrenze della sottostringa '"; su; "': "; i
 
End


Private Procedure CreaSo()
 
' Imposta il sorgente della libreria dinamica condivisa esterna:
 File.Save("/tmp/lib_Occorrenze.c", "#include <string>" &
           "\n\n" &
           "int Occorrenze(const char *stringa, const char *substr) {" &
           "\n\n" &
           "   int i = 0;" &
           "\n\n" &
           "   do {\n" &
           "      stringa = strstr (stringa, substr);\n" &
           "      if (stringa) {;\n" &
           "         ++stringa;\n" &
           "         ++i;\n" &
           "      }else{\n         break;\n      }" &
           "\n   }\n" &
           "   while (stringa);" &
           "\n\n" &
           "   return i;\n\n}")
           
 
' Genera la libreria dinamica condivisa esterna:
 Shell "gcc -o /tmp/lib_Occorrenze.so /tmp/lib_Occorrenze.c -shared -fPIC" Wait
 
End[/code][/quote]

Esto que hizo el topo, es EXACTAMENTE como funciona OpenGL hoy en dia:

La CPU le envia codigo C en forma de String a la GPU para que se ocupe de los graficos con su poder de procesamiento, liberando a la cpu para otras tareas. Estoy estudiando el tema para aplicarlo al CAD


