Category Archives

Home >実装技術

実装技術

スポンサーサイト
...
--------
クラスのメンバをROMとRAMに分離する
TECSの仕様を検討している際に何度か話題に上がったのですが、クラス(というか構造体)のメンバのうち、一部をROMに、残りをRAMに配置する方法がないものでしょうか? 今回はこれについて考えてみます。C++には、メンバの一部をROMに、残りをRAMに配置するための直接的なシンタックスはありません。これはCの場合でも同じです。これを実現するには、通常次のようにしなければなりません。struct rom_part{  ...};struct ra......
2009-05-27 | Comment : 0  | Trackback : 0 
C++で書いたHello, World!はなぜデカいか?
FC2ブログはすぐに「スポンサーサイト」にされてしまうので、保守の意味でも、今回はよく受ける質問から「C++で書いたHello, World!はなぜデカいか?」について書いてみることにします。C++でstd::coutを使ったHello, World!を書くと、驚くほどプログラムサイズが大きくなってしまいます。リンカが出力するマップファイルをみるなどすれば分かりますが、使ってもいない関数が大量にリンクされていると思います。これは一体何なので......
2009-04-27 | Comment : 0  | Trackback : 0 
例外処理が使えない環境でコンストラクタが失敗したら...
以前、「例外のないC++」ということで、いろいろ考察してみたことがありました。しかし、コンストラクタが失敗したときの解決方法としては、どれもいまいちパッとしません。そこで、改めて、例外処理が使えない環境でコンストラクタが失敗したら、という問題について考えてみることにします。例外処理が使える環境でも、「例外処理を使いこなせない」、あるいは「例外処理が嫌い」といった事情からか、コンストラクタが失敗した際......
2008-05-05 | Comment : 0  | Trackback : 0 
RAIIイディオム
まともな内容を書くのは約半年ぶりです。ネタはあっても、"大人の事情"というか、安易にブログに書けないことも多くて大変なのですが、何とか頑張ってみたいと思います。長い間更新していないと、過去に何を書いて、何を書いていないのか、さっぱり分からなくなってしまいますが、気にせずに進めることにします。雑誌でも定期的に同じネタを取り上げますので、それと同じようなものですね。というわけで、今回はRAII(Resource Acq......
2008-04-09 | Comment : 0  | Trackback : 0 
データメンバを公開するのも、時には方便
純粋な構造体を除き、データメンバは常に非公開にするのは、クラス設計のイロハのようなものです。しかし、時には禁忌を犯してみるのもよいのかもしれません。それは次のような理由からです。 データメンバを非公開にしている以上、オブジェクトの初期化は必ずコンストラクタによらなければなりません。しかし、コンストラクタを用いて動的に初期化する場合、そのオブジェクトを ROM に配置することは不可能になります。 ......
2007-09-11 | Comment : 6  | Trackback : 0 

C++と組み込み環境 | Page Top▲

Navigation
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。