Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[CGI][C++] Kompilacja do .cgi

Ostatnio zmodyfikowano 2013-08-19 19:21
Autor Wiadomość
kubek3898
Temat założony przez niniejszego użytkownika
[CGI][C++] Kompilacja do .cgi
» 2013-08-19 10:13:32
Zainteresowałem się ostatnio skryptami .cgi i chciałem napisać taki swój skrypt w tej technologii. Problem w tym, że o ile w Perlu wszystko normalnie działa, to już w C++ nie. Wiem, że Perl nie jest językiem kompilowanym, a C++ tak i pewnie właśnie stąd błąd 500 przy próbie uruchomienia skryptu CGI pisanego w C++. Doczytałem, że trzeba najpierw plik .c lub .cpp skompilować do postaci .cgi. W systemach Unixowych robi się to poleceniem
gcc -o helloworld.cgi helloworld.cpp
, jednak chyba? na Windowsie to już nie zadziała? Muszę pewnie coś ściągnąć, tylko pytanie co? Czy wystarczy sam Code Blocks do skompilowania do postaci pliku .cgi?
P-90506
jankowalski25
» 2013-08-19 10:47:00
Frazy, które należy wpisać w wyszukiwarkę google:
P-90510
DejaVu
» 2013-08-19 11:23:05
Skrypt CGI to nic innego jak plik *.exe ze zmienionym ręcznie rozszerzeniem, który robi printf-y na standardowe wyjście. Jeżeli chcesz odpalić skrypt CGI np. na jakimś serwerze www, który je obsługuje, to musisz skompilować swoją aplikację przy pomocy kompilatora, który generuje kod binarny zgodny z systemem operacyjnym na którym CGI zostanie uruchomione. Innymi słowy: jeżeli na Twoim hostingu docelowym jest system FreeBSD, to powinieneś zainstalować sobie na wirtualnej maszynie system FreeBSD i skompilować kod źródłowy na wirtualnej maszynie, po czym wygenerowany plik binarny przekopiować na serwer docelowy oraz nadać odpowiednie chmod-y.
P-90516
kubek3898
Temat założony przez niniejszego użytkownika
» 2013-08-19 12:03:54
Czyli, gdy skorzystam przykładowo z tego kompilatora online -> http://www.onlinecompiler.net, zaznaczę system Linux i pobiorę skompilowany kod z rozszerzeniem .out, a następnie zmienię na .cgi to będzie działało? Jeśli tak, to muszę coś źle robić bo wyrzuca nadal błąd 500 (system to Linux, nadane CHMOD'y 755).
P-90520
DejaVu
» 2013-08-19 12:27:28
Powinieneś jeszcze zlinkować statycznie standardowe biblioteki i upewnić się, że NA PEWNO jest to Linux.
P-90521
kubek3898
Temat założony przez niniejszego użytkownika
» 2013-08-19 13:37:52
Wyciąg z phpinfo():

Linux nazwaserwera 3.2.0-0.bpo.4-amd64 #1 SMP Debian 3.2.46-1~bpo60+1 x86_64

Więc sam już nie wiem...
P-90527
m4tx
» 2013-08-19 13:59:39
system Linux
Linux to nie system.

nadane CHMOD'y 755
Chmodów się nie nadaje, chmod to polecenie zmiany uprawnień plików na Uniksach.

Co do problemów - zrób to co napisał DejaVu. Możesz też spróbować skompilować plik wykonywalny pod architekturę 64-bitową, pod Linuksami ma to z reguły nieco większe znaczenie niż na Windowsach.
P-90528
kubek3898
Temat założony przez niniejszego użytkownika
» 2013-08-19 19:21:17
Okej skompilowałem na Debianie do postaci .cgi i wszystko działa :) Dziękuje DejaVu.

/close
P-90558
« 1 »
  Strona 1 z 1