Submit Search
Upload
C++がなぜ組込みに採用されにくいか
•
Download as PPTX, PDF
•
5 likes
•
7,887 views
T
Tsuyoshi Kato
Follow
#kbkz_tech
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 13
Download now
Recommended
RoboticsとC++@歌舞伎座.tech#8「C++初心者会」
RoboticsとC++@歌舞伎座.tech#8「C++初心者会」
Takashi Ogura
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
Kishi Shundo
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
m ishizaki
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
bc_rikko
C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925
m ishizaki
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ
Masayuki KaToH
Study3 boost
Study3 boost
Kohsuke Yuasa
DevDo Irasally 20090426
DevDo Irasally 20090426
irasally omuko
Recommended
RoboticsとC++@歌舞伎座.tech#8「C++初心者会」
RoboticsとC++@歌舞伎座.tech#8「C++初心者会」
Takashi Ogura
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
Kishi Shundo
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
「推しが100万部売れて欲しい!」 推し技術書LT大会 発表スライド
m ishizaki
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
bc_rikko
C# Tokyo コミュニティ説明 20200925
C# Tokyo コミュニティ説明 20200925
m ishizaki
俺とGitHubとcodeシリーズ
俺とGitHubとcodeシリーズ
Masayuki KaToH
Study3 boost
Study3 boost
Kohsuke Yuasa
DevDo Irasally 20090426
DevDo Irasally 20090426
irasally omuko
C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内
m ishizaki
Siv3Dのすゝめ
Siv3Dのすゝめ
Azaika At
レガシーコードとの戦いの軌跡
レガシーコードとの戦いの軌跡
Katsuhiko Tamura
Uno Platform 入門 2020/04/03
Uno Platform 入門 2020/04/03
m ishizaki
まんまとリレーションされた話
まんまとリレーションされた話
m ishizaki
Unity/CSharp 2
Unity/CSharp 2
tagawakiyoshi
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
C言語について
C言語について
Katsuro-u
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
Ultra piet
Ultra piet
京大 マイコンクラブ
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
m ishizaki
Intelli code
Intelli code
m ishizaki
dwangocpp1-lt
dwangocpp1-lt
karupanerura
Customizing cargo for cross compiling
Customizing cargo for cross compiling
emakryo
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
Yasuyuki Sugai
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada
Cargo makeを使ってみた話
Cargo makeを使ってみた話
emakryo
デプロイに苦労した話
デプロイに苦労した話
tetuwo181
シミュレーター
シミュレーター
Kensei Demura
Multi paradigm design
Multi paradigm design
Akira Takahashi
Cache obliviousの話
Cache obliviousの話
Kumazaki Hiroki
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
More Related Content
What's hot
C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内
m ishizaki
Siv3Dのすゝめ
Siv3Dのすゝめ
Azaika At
レガシーコードとの戦いの軌跡
レガシーコードとの戦いの軌跡
Katsuhiko Tamura
Uno Platform 入門 2020/04/03
Uno Platform 入門 2020/04/03
m ishizaki
まんまとリレーションされた話
まんまとリレーションされた話
m ishizaki
Unity/CSharp 2
Unity/CSharp 2
tagawakiyoshi
Pietで競プロしよう
Pietで競プロしよう
京大 マイコンクラブ
C言語について
C言語について
Katsuro-u
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
京大 マイコンクラブ
Ultra piet
Ultra piet
京大 マイコンクラブ
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
m ishizaki
Intelli code
Intelli code
m ishizaki
dwangocpp1-lt
dwangocpp1-lt
karupanerura
Customizing cargo for cross compiling
Customizing cargo for cross compiling
emakryo
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
Yasuyuki Sugai
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Shinichi Okada
Cargo makeを使ってみた話
Cargo makeを使ってみた話
emakryo
デプロイに苦労した話
デプロイに苦労した話
tetuwo181
シミュレーター
シミュレーター
Kensei Demura
Multi paradigm design
Multi paradigm design
Akira Takahashi
What's hot
(20)
C# Tokyo コミュニティ案内
C# Tokyo コミュニティ案内
Siv3Dのすゝめ
Siv3Dのすゝめ
レガシーコードとの戦いの軌跡
レガシーコードとの戦いの軌跡
Uno Platform 入門 2020/04/03
Uno Platform 入門 2020/04/03
まんまとリレーションされた話
まんまとリレーションされた話
Unity/CSharp 2
Unity/CSharp 2
Pietで競プロしよう
Pietで競プロしよう
C言語について
C言語について
ドット絵でプログラミング!難解言語『Piet』勉強会
ドット絵でプログラミング!難解言語『Piet』勉強会
Ultra piet
Ultra piet
Visual Studio Code で C# でのアプリ開発
Visual Studio Code で C# でのアプリ開発
Intelli code
Intelli code
dwangocpp1-lt
dwangocpp1-lt
Customizing cargo for cross compiling
Customizing cargo for cross compiling
rChartsによるインタラクティブな可視化表現
rChartsによるインタラクティブな可視化表現
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Kanrk05 .Netでお仕事しているプログラマがスクリプト言語として使うRuby
Cargo makeを使ってみた話
Cargo makeを使ってみた話
デプロイに苦労した話
デプロイに苦労した話
シミュレーター
シミュレーター
Multi paradigm design
Multi paradigm design
Viewers also liked
Cache obliviousの話
Cache obliviousの話
Kumazaki Hiroki
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
kikairoya
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
Genya Murakami
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
トランザクションの設計と進化
トランザクションの設計と進化
Kumazaki Hiroki
Viewers also liked
(6)
Cache obliviousの話
Cache obliviousの話
組み込みでこそC++を使う10の理由
組み込みでこそC++を使う10の理由
中3女子でもわかる constexpr
中3女子でもわかる constexpr
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
トランザクションの設計と進化
トランザクションの設計と進化
C++がなぜ組込みに採用されにくいか
1.
なぜC++は組み込みに 採用されにくいのか beepcap
2.
自己紹介 Twitter: @beepcap ・組み込み系でご飯食べてる人 ・C++はC++98までくらいしか知らない初心者
3.
LTの目的 ・C++は優れた言語 ・なぜ現場で使われないのか周知したい
4.
ターゲット ・OSが無かったり、OSそのものやハードウェ アドライバを開発という世界の組込み。 ・OSが無い開発ではメモリは全部で1KiB前後 のチップとかも使う。
5.
例えば
6.
問題点1 ・C++は(Cに比べて)メモリの使用量が類推 しにくい
7.
実例 → ・さて、test0は何バイトでしょうか? ビルド環境: g++ 4.8.2(64bit) (オプションは特になし) ヒント: ・classも構造体と同じように4byteでパ ディングされるよ ・関数はclassのサイズに関係しないよ ・でもでもvirtualがつくとvptrと呼ばれる 隠しポインタ変数が追加されるよ ・そうすると実はパディングが・・・
8.
実例 → ・実際のメモリ使用量がコードから推測し難い 。
9.
問題点2 ・C++は(C略)処理時間の類推が難しい
10.
実例 → ・隠蔽されている処理の時間が推測しにくい 左の”c = a
+ b;”の処理時間をこのコードか ら推察することは出来ない。 “+”も”=”もオーバーライドされているかも しれず、どれほどの処理時間がかかるか は、元のコードを追わなければならない 。 さらに、継承されたクラスがあればそれ らもすべて調べる必要がある。
11.
問題点3 ・C++は(C略)ハードウェアやアセンブリ言 語との相性が悪い。
12.
実例 → ・アセンブリでシンボル名を使ってリンクしに くい
13.
まとめ ・組込み開発の一部ではC++固有の機能がとて も使いづらい ・アプリケーションは大丈夫 ・解消する手段は? →今後に期待
Download now