Marc Reichelt: C++ als CGI - Anfänge und Sicherheitsaspekte

Beitrag lesen

Hallo nochmals,

ich möchte hierzu noch gerne eine Anmerkung machen:

Es ist performanter, die komplette Ausgabe in einem Rutsch zu erledigen, als dafür sehr oft cout << aufzurufen. C und C++ bieten dir an, so genannte Zeichenkonstanten bis zu einer Länge von 500+etwas über mehrere Zeilen zu notieren:

cout << "Content-Type: text/html; charset=utf-8\r\n"
        "\r\n"
        // HTML-Teil
        "<?xml version="1.0" encoding="utf-8"?>\n"
        "…";


>   
> Supi! Das ist doch schon mal eine ordentliche Steigerung.  
  
Die Optimierung (also statt vielen cout-Vorgängen einen einzigen zu schreiben, der dann auf mehrere Zeilen verteilt wird) hat nichts gebracht. Offensichtlich erkennt der g++-Compiler der GNU Compiler Collection in der Version 4.0 dies automatisch, und sammelt die cout-Befehle zu einem einzigen zusammen. Ob die vorherigen Versionen das auch gemacht haben, kann ich nicht sagen, der 4.0er macht es auf jeden Fall.  
  
Ach ja, und warum ich eine XHTML-Datei überhaupt als "text/html" ausgeliefert habe: Weil der IE das nicht versteht...  
  
  
Grüße  
  
Marc Reichelt || <http://www.marcreichelt.de/>  

-- 
Linux is like a wigwam - no windows, no gates and an Apache inside!  
  
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)  
<http://emmanuel.dammerer.at/selfcode.html>