大きな(20kb)静的htmlページを提供する必要があるwifiマイクロコントローラーを使用しています。マイクロコントローラーの個々のバッファーは 1.4kb しか保持できないため、html をチャンクに分割し、一度に 1 つずつ送信する必要があります。
私が今持っているのは、次のような約100の文字列割り当てです。
char HTML_ID_96[] = "\
<p><a href=\"#t\">Return to top</a></p>\
<a id=\"id9\"/>\
<span class=\"s\">Firmware Version/Information</span>\
<span class=\"c i\" id=\"id9-h\" onclick=\"h(\'id9\');\">hide</span> \
<span class=\'c\' id=\"id9-s\" onclick=\"s(\'id9\');\">show</span>\
<table class=\"t i\" id=\"id9-table\"><tbody>\
";
文字列を配列に貼り付けて、すべての文字列に反復可能なシーケンスを課す方法が欲しいのですが、それらをパッケージ化する方法がわかりません。
私が試してみました:
char** all = [HTML_ID_1, ..., HTML_ID_99];
char* all[] = [HTML_ID_1, ..., HTML_ID_99];
char all[][] = [HTML_ID_1, ..., HTML_ID_99];
しかし、どれもコンパイルされません。C が配列を処理する方法への参照はおまけです。
拡大:
char const* HTML_ID_100 = "\
</form>\
</body>\
</html>\
";
char const* all[] = {HTML_ID_100};
コンパイルしていません。gcc 3.4.4 を使用しています。「初期化要素が定数ではありません」と「('all[0]' の初期化に近い)」という 2 つのエラーが報告されます。どちらも表示されている最後の行で発生します。