He estado investigando esto durante varias horas, pero todo lo que he visto me parece bastante desalentador. He estado usando PHP para todas las cosas simples en mi sitio web hasta ahora. Estoy haciendo un montón de trabajo estadístico, y me gustaría tener C++ disponible para los cálculos más intensos.Vinculación de PHP con el programa local C++
El C++ se ejecutará localmente en la misma máquina Unix que PHP.
algo como lo siguiente es lo que yo estoy en una pérdida para saber cómo hacerlo:
<?php
//c++ program has a counter initialized to 0
//PHP tells c++ to add 5 to the counter. $incremented is 5
$incremented = increment_in_cpp_and_return(5);
//$incremented_again will be 7
$incremented_again = increment_in_cpp_and_return(2);
?>
Por supuesto, estoy corriendo algunas simulaciones de Monte-Carlo y atravesando realmente grandes árboles en lugar de números de incremento, pero eso no es lo que me está frenando.
C++ solo necesita escuchar un número y devolver otro número (tal vez algunas cosas en JSON como máximo). Es importante que C++ realice un seguimiento de sus variables entre llamadas.
He leído mucho sobre TCP, programación de socket, etc. y estoy un poco dudoso de que sea tan complicado como lo demuestran los ejemplos. Un montón de cosas me han señalado a esto http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#simpleserver
Si realmente es más de 100 líneas de C++, ¿hay algunas bibliotecas populares, o hay una implementación simple en otro idioma?
Gracias!
@dherefromhere: Listo: http://stackoverflow.com/a/8639563/367456 – hakre
Estoy un poco confundido acerca de cómo el C++ mantiene su estado entre llamadas. ¿Se puede usar proc_open para pasar a través de STDIN a un programa C++ que se ejecuta continuamente? Me preocupa que comience una nueva instancia de C++ ... – dcc310
Ver mi respuesta y comentario a continuación ... – Paul