09. april 2000 - 19:09Der er
6 kommentarer og 1 løsning
CGI programmering i C/C++
Jeg har til hensikt å lage et CGI script skrevet i C eller C++. Scriptet skal kjøre på NT/MS Information server. Trenger litt hjelp for å komme i gang.
Spørsmål:
1. Når man benytter Perl for CGI scripting så legger man ut kildekoden. Dersom man benytter C/C++ til det samme, så må man vel kompilere scriptet først ?!! 2. Kan man kompilerer C koden på en win 98 maskin, eller må man kompilere på en NT/NT server ? 3. Går det bra med en hvliken som heldst kompilator eller bør man bruke MS ? 4. Er det noen spesielle triks med hensyn til plassering av scriptet på serveren ?
1. Ja, C/C++ programmet skal oversættes, og laves til en .exe fil først. 2. Du kan kompilere på en anden maskine end NT. 3. Det er ligegyldigt hvilken C-oversætter (blot til Windows). Umiddelbart ville jeg anbefale GNUs C-oversætter. 4. Næh.... Du skal vide hvordan man aflæser variablerne fra CGI-en, fra forme og URLs, og fra HTTP-headeren, så du skal finde et bibliotek, der gør det for dig.
Men, hvorfor bruge C/C++? Serveren skal bruge ekstra tid på at starte en process for hver request, som ikke er nødvendig med PHP og ASP, for eksempel. Hvis du har 100 hits i sekundet kan du får problemer. Med få hits er det sådan set ligegyldigt.
Jeg forsøkte å skrive av et c++ program fra MS boken "Running Internet Information server". Forsøkte videre å kompilere med Borland C++ 4.5 (Win 98) Det kommer følgende feilmeldinger: Undefined symbol 'lpszScriptName' in function main() og Undefined symbol '_stricmp' in function main() pluss noen flere av samme type. Jeg lurer på om det kan forholde seg slik at programeksemplet fra Microsoft kaller opp rutiner som er en del av NT-server eller kanskje en del av Visual C++ ?? Andre rutiner som later til ikke å bli kjent igjen er: GetUserName, GetCurrentProcessID og lpszScript Det ville være fantastisk med en forklaring på hva dette kan bety ??!! Jeg forsøkte også å kjøre et meget enkelt program av typen "Hello World" på min egen "ekspriment NT server" men tror ikke at jeg har klart å sette rettighetene på diskområdet riktig, for det kjørte heller ikke, men det lot seg i det minste kompilere.
C++ skulle ellers være et perfekt språk for min anvendelse. Forsøker å eksprimentere litt med programkode med litt koplekse logiske funksjoner. Trafikken blir minimal. Har først programmert det hele i Java script og ønsker å eksprimenter med å flytte over de logiske funsjonene til kompilert kode på serveren. Kan ASP benytte kompilert kode ? (Java ??) kunne det være en alternativ vei å gå eller dreier det seg da bare om serverbasert script ??
GNU er ganske rigtigt "Linux". Nogen har porteret oversætteren til DOS/Windows. Der er ingen grafisk brugergrænseflade, bare en "rigtig" oversætter. Jeg kan ikke lige huske hvor man henter den.
Dine fejlmeddelelser tyder mere på en forkert opsætning af din oversætter. Jeg er ikke ekspert på området (lav nyt spørgsmål i C/C++ kategorien). Det har ikke noget med NT at gøre.
Du havner lige præcis i det, der er så besværligt, når du ikke bruger PHP, ASP, Perl, nemlig en dum oversætter, rettigheder og sådan noget :-)
Om ASP kan bruge oversat kode husker jeg ikke lige, men fra PHP kan man udføre et oversat program.
Det var da utrolig raskt svar ! Har ikke fått tingene til å fungere, men fortsetter å nøste videre på C++ problematikken slik som du foreslår. Mange takk for innsatsen !
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.