Membuat web-end untuk program C ++

9

Saya bertanya-tanya apa yang akan menjadi metode terbaik untuk membuat akhir web untuk berinteraksi dengan program C ++ di server. Pada awalnya saya hanya berpikir hanya menggunakan eksekusi shell dari bahasa sisi server web (seperti shell_exec()dalam PHP), tapi saya bertanya-tanya apakah ada cara yang "lebih baik". Mungkin sesuatu yang lebih asli atau ini praktik yang buruk karena alasan tertentu?

Ben
sumber
Harus di stackoverflow, bukan di sini AFAIK. Mungkin salah.
Enders
4
Saya pikir akan lebih baik pada programmer.SE karena lebih teoretis dan tidak benar-benar memerlukan jawaban berdasarkan kode. Ini lebih didasarkan pada ide-ide seputar mencapai tugas ini, bukan metode yang tepat bagaimana melakukannya.
Ben

Jawaban:

7

Pemrograman web dengan C ++ sudah cukup ketinggalan zaman. Cara tradisional untuk melakukannya adalah dengan CGI. Lihat di sini untuk tutorial .

Atau Anda dapat menambahkan server web tertanam seperti luwak

Namun, saya pikir paling mudah untuk menggunakan passthru PHP. Misalnya, di salah satu situs saya, saya memiliki program C ++ yang menghasilkan gambar, untuk menampilkan gambar yang saya lakukan:

<?

header("content-type: image/png"); 

$temp = $_GET["temp"];
$rain = $_GET["rain"];

passthru("/home/rrabien/marker $temp $rain")

?>
FigBug
sumber
Ini terlihat bagus untuk saya, terima kasih untuk fungsi passthru. Saya belum pernah mendengar yang itu. Semua dalam semua ini adalah apa yang awalnya ada dalam pikiran saya, tetapi baik untuk mengetahui bahwa ini benar-benar cara terbaik untuk mencapai apa yang saya inginkan. FigBug terima kasih.
Ben
JANGAN gunakan passthru tanpa keluar dengan benar, atau Anda minta diretas. Baca tautan ini: acunetix.com/websitesecurity/php-security-1.htm
Joeri Sebrechts
Ini adalah bagaimana saya melakukannya, tetapi saya menggunakan Django. Alih-alih melewati ke aplikasi c ++ secara langsung, saya memiliki pembungkus python baik untuk meluncurkan aplikasi c ++ saya, atau berkomunikasi melalui IPC atau jaringan dengan daemon menggunakan beberapa api internal. Bekerja dengan sangat baik.
michalmocny
3

Wt, toolkit web C ++ adalah pustaka dengan sekumpulan kelas yang membuatnya lebih mudah untuk menambahkan antarmuka web dari segala kompleksitas ke program C ++. Ini berfokus pada aspek antarmuka web saja, dan sebaliknya tidak mengganggu program Anda.


sumber
1

Saya yakin ada kerangka kerja web yang dapat dikompilasi di luar sana untuk C / C ++. Namun, saya tidak terbiasa dengan itu.

Apa yang saya kenal adalah kemudahan yang Anda dapat memperpanjang Python dengan C / C ++ . Saya percaya ini bisa dibuat lebih sederhana dengan menggunakan SWiG . Mengingat bahwa Python memiliki banyak kerangka kerja web, ini mungkin menjadi pilihan bagi Anda.

dietbuddha
sumber