スレを勃てるまでもないC/C++の質問はここで 25
[隔離病棟]
©2ch.net (467レス)
スレを勃てるまでもないC/C++の質問はここで 25
[隔離病棟]
©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1471100645/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
260: デフォルトの名無しさん [] 2018/01/25(木) 22:18:47.51 ID:9MCrLTCo 組み込み環境に C++ のコードを移植しようとしているんだけど、質問ってここでしていいのかな。 RAM の容量が厳しいので、 Flash にデータを持つように改造したいと思っている。 で、これは、C++ 的には定数でデータを持つだけで実現できるらしい。幸い組み込み環境ではリードオンリーでよい。 普段 PC 環境なら計算量の多いコンストラクタを経て初期化しているあるクラスのインスタンス群を、 PC 環境上で初期化して各フィールドの値をダンプしておいて、 組み込み環境では各フィールドが const になるようにクラスを改造したうえで 何かの方法でコンストラクタをスキップしてやりたい。これでRAMも計算量も減らせたらいい。 思いついた方法は、シリアライザというかコードジェネレーターを用意してソースコード上に定数群をたくさん定義して、 MyType i { cDataA, cDataB, ... }, j { cDataO, cDataP, ... }; のような記述ができるようにする、という感じのもの。 ほかによく使われている方法はある? あるいは、アドレスのキャストか何かでインスタンスの初期化を完了できる黒魔法っぽい方法もあったりする? http://mevius.5ch.net/test/read.cgi/tech/1471100645/260
261: デフォルトの名無しさん [sage] 2018/01/25(木) 22:22:11.16 ID:9MCrLTCo って隔離スレなのか。まあ過去レス見た限りでは答えてくれているようなので… よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1471100645/261
264: デフォルトの名無しさん [sage] 2018/01/25(木) 23:23:09.67 ID:9MCrLTCo ありがとう { ... } の部分をプログラムからうまく生成する方法はなにかあるだろうか? http://mevius.5ch.net/test/read.cgi/tech/1471100645/264
265: デフォルトの名無しさん [sage] 2018/01/25(木) 23:28:29.97 ID:9MCrLTCo キャストで済んでいるのはとてもよさそうだけど、 PC 環境でのメモリ上での表現と組み込み環境でのメモリ上の表現は完全に一致するのだろうか。 アライメントというものがあるんだったような http://mevius.5ch.net/test/read.cgi/tech/1471100645/265
269: デフォルトの名無しさん [sage] 2018/01/25(木) 23:46:29.85 ID:9MCrLTCo まそうですよね。再びありがとう。 アライメントについては各環境で実験して (offsetof(MyData, ...) が一致するか) いけそうなら試してみる。 エンディアンとアライメント(バイト境界)が一致してればきっと大丈夫だよね http://mevius.5ch.net/test/read.cgi/tech/1471100645/269
270: デフォルトの名無しさん [sage] 2018/01/25(木) 23:59:52.47 ID:9MCrLTCo 助かる、これでとんかつ定食でも食べてくれ っ [ぺいぱる] http://mevius.5ch.net/test/read.cgi/tech/1471100645/270
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s