Submit Search
Upload
C++ in Embedded Systems
•
4 likes
•
2,031 views
K
kikairoya
Follow
Boost #3 C++ in Embedded Systems
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 30
Download now
Download to read offline
Recommended
2014/04/14 MyNA(日本MySQLユーザ会)会 2014年4月
MySQLをプロファイる(仮)
MySQLをプロファイる(仮)
yoku0825
Jaws大分
Jaws大分
Yuki Nakatake
Maatkitの紹介
Maatkitの紹介
Akinori YOSHIDA
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
Ryo Shibayama
MongoDB Casual Talksの資料です!
MongoDBのアレをアレする
MongoDBのアレをアレする
Akihiro Kuwano
ASTERGDEMContour
ASTERGDEMContour
ASTERGDEMContour
NakamuraShinsaku
e-Zuka Tech Nightで発表した「今一度、EC2を」の資料です。
2013/08/01 JAWS-UG福岡 x e-Zuka-Tech Night 「今一度、EC2を」
2013/08/01 JAWS-UG福岡 x e-Zuka-Tech Night 「今一度、EC2を」
Aya Komuro
https://jazug.connpass.com/event/106316/ こちらでLTした資料です
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
Igarashi Toru
Recommended
2014/04/14 MyNA(日本MySQLユーザ会)会 2014年4月
MySQLをプロファイる(仮)
MySQLをプロファイる(仮)
yoku0825
Jaws大分
Jaws大分
Yuki Nakatake
Maatkitの紹介
Maatkitの紹介
Akinori YOSHIDA
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
第87回PHP勉強会 LT 知って得するかもしれないテキスト処理コマンドのお話
Ryo Shibayama
MongoDB Casual Talksの資料です!
MongoDBのアレをアレする
MongoDBのアレをアレする
Akihiro Kuwano
ASTERGDEMContour
ASTERGDEMContour
ASTERGDEMContour
NakamuraShinsaku
e-Zuka Tech Nightで発表した「今一度、EC2を」の資料です。
2013/08/01 JAWS-UG福岡 x e-Zuka-Tech Night 「今一度、EC2を」
2013/08/01 JAWS-UG福岡 x e-Zuka-Tech Night 「今一度、EC2を」
Aya Komuro
https://jazug.connpass.com/event/106316/ こちらでLTした資料です
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
Igarashi Toru
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
マーケティングツールDECIDEで使われている技術: Bootstrap Knockout.js font-awesome select2 Underscore.js lo-dash Sugar.js Moment.js daterangepicker flot jsPlumb Heatmap.js の説明。
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
Web技術勉強会 第38回
Web技術勉強会 第38回
Web技術勉強会 第38回
龍一 田中
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
2017年6月 .NETラボ LT
Azure CDNの実力を知ろう
Azure CDNの実力を知ろう
Masateru Suzuki
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
taiju higashi
不自由な窓の檻を抜け電子の大海に飛び込む方法
Windows改造計画
Windows改造計画
京大 マイコンクラブ
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
Rails勉強会東京第35回プラグインLt大会@Unshiu
Rails勉強会東京第35回プラグインLt大会@Unshiu
gaooh
JAWS-UG Kyoto 2016年2月資料
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
秀高 岡本
ET2016に展示したパネルです。
ET2016展示パネル
ET2016展示パネル
三七男 山本
PHPMatsuri 2013のLT資料です お祭りの発表内容なので、題名と内容が完全に合致しているわけではありません。
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
社内LTで発表した資料です。 Safari の Intelligent Tracking Prevention (ITP) とその周辺のことを紹介しました。 (トラッキングツールだけでなく) ECサイトにも大きく影響しそうなところにフォーカスしています。
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
株式会社MonotaRO Tech Team
コマンドラインでWebサイト作ってみた。
コマンドラインで使うAzure
コマンドラインで使うAzure
nishioka1
MySQLにおける空振りDeleteによるlockの違いについて 山田 雄(株式会社リクルートライフスタイル)
やってはいけない空振りDelete
やってはいけない空振りDelete
Yu Yamada
Deep Learning を行う上で、CTNKなどのライブラリーの利用は欠かせません。ここでは、CNTK、Windows MLそして、FPGAについて取り扱います。
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
Daiyu Hatakeyama
stm32を用いてロボコン向けに活用できる技術を紹介したい高度な内容ができる反面嵌りやすいがサンプルを交えてテクニックやワンポイントを紹介 サンプルはこちら https://drive.google.com/open?id=1gA2wfi5YrSgIyFdHbEm-l_MZrUL55dLa
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
DoNabe1
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
第7回OSS奨励賞を受賞した際の活動紹介のプレゼンテーションです。
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
2012/06/17 に開催された、OSC 2012 Hokkaido での、セミナーのプレゼン資料。
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
第1回 D-STEP 講習会 & 第36回 DDBJing 講習会 講師:川島 武士(国立遺伝学研究所 生命ネットワーク研究室 助教) 日時:2018年1月26日(金)10:00~16:00 場所:国立遺伝学研究所 生命情報研究センター YouTube:準備中
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
DNA Data Bank of Japan center
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
More Related Content
What's hot
PyCUDAの紹介
PyCUDAの紹介
Yosuke Onoue
マーケティングツールDECIDEで使われている技術: Bootstrap Knockout.js font-awesome select2 Underscore.js lo-dash Sugar.js Moment.js daterangepicker flot jsPlumb Heatmap.js の説明。
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
エンジニア勉強会 エスキュービズム
Web技術勉強会 第38回
Web技術勉強会 第38回
Web技術勉強会 第38回
龍一 田中
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
2017年6月 .NETラボ LT
Azure CDNの実力を知ろう
Azure CDNの実力を知ろう
Masateru Suzuki
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
taiju higashi
不自由な窓の檻を抜け電子の大海に飛び込む方法
Windows改造計画
Windows改造計画
京大 マイコンクラブ
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Hitoshi Asai
Rails勉強会東京第35回プラグインLt大会@Unshiu
Rails勉強会東京第35回プラグインLt大会@Unshiu
gaooh
JAWS-UG Kyoto 2016年2月資料
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
秀高 岡本
ET2016に展示したパネルです。
ET2016展示パネル
ET2016展示パネル
三七男 山本
PHPMatsuri 2013のLT資料です お祭りの発表内容なので、題名と内容が完全に合致しているわけではありません。
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
Tak Nishikori
社内LTで発表した資料です。 Safari の Intelligent Tracking Prevention (ITP) とその周辺のことを紹介しました。 (トラッキングツールだけでなく) ECサイトにも大きく影響しそうなところにフォーカスしています。
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
株式会社MonotaRO Tech Team
コマンドラインでWebサイト作ってみた。
コマンドラインで使うAzure
コマンドラインで使うAzure
nishioka1
MySQLにおける空振りDeleteによるlockの違いについて 山田 雄(株式会社リクルートライフスタイル)
やってはいけない空振りDelete
やってはいけない空振りDelete
Yu Yamada
What's hot
(15)
PyCUDAの紹介
PyCUDAの紹介
エンジニア勉強会_DECIDE
エンジニア勉強会_DECIDE
Web技術勉強会 第38回
Web技術勉強会 第38回
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
Azure CDNの実力を知ろう
Azure CDNの実力を知ろう
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
Windows改造計画
Windows改造計画
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
Rails勉強会東京第35回プラグインLt大会@Unshiu
Rails勉強会東京第35回プラグインLt大会@Unshiu
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
WordPressの大きなインフラをkumogataで作ったらめっちゃ楽だった話
ET2016展示パネル
ET2016展示パネル
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
ITPと、その他cookie関連のこと / ITP and cookie
ITPと、その他cookie関連のこと / ITP and cookie
コマンドラインで使うAzure
コマンドラインで使うAzure
やってはいけない空振りDelete
やってはいけない空振りDelete
Similar to C++ in Embedded Systems
Deep Learning を行う上で、CTNKなどのライブラリーの利用は欠かせません。ここでは、CNTK、Windows MLそして、FPGAについて取り扱います。
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
Daiyu Hatakeyama
stm32を用いてロボコン向けに活用できる技術を紹介したい高度な内容ができる反面嵌りやすいがサンプルを交えてテクニックやワンポイントを紹介 サンプルはこちら https://drive.google.com/open?id=1gA2wfi5YrSgIyFdHbEm-l_MZrUL55dLa
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
DoNabe1
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
NTT DATA OSS Professional Services
第7回OSS奨励賞を受賞した際の活動紹介のプレゼンテーションです。
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
Hiromu Yakura
2012/06/17 に開催された、OSC 2012 Hokkaido での、セミナーのプレゼン資料。
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
Shin-ya Koga
第1回 D-STEP 講習会 & 第36回 DDBJing 講習会 講師:川島 武士(国立遺伝学研究所 生命ネットワーク研究室 助教) 日時:2018年1月26日(金)10:00~16:00 場所:国立遺伝学研究所 生命情報研究センター YouTube:準備中
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
DNA Data Bank of Japan center
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
Yasuhiro Yoshimura
s3fs, riofs, goofys, s3ql, s3backer の比較
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
真治 米田
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
JAWSDAYS 前夜祭を盛り上げるための発表です。 NVIDIAの回し者ではないですが、p3.2xlarge の紹介です。
JAWSUG名古屋 AWS勉強会 20180309
JAWSUG名古屋 AWS勉強会 20180309
陽平 山口
SWoPP北九州2013
異種クラスタを跨がる仮想マシンマイグレーション機構
異種クラスタを跨がる仮想マシンマイグレーション機構
Ryousei Takano
JapanTaxiにてタクシードライブレコーダーの動画処理のための機械学習パイプラインにkubernetesを使ってみた話です
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
Tetsutaro Watanabe
ALGYAN主催DragonBoard+IoTアプリコンテストのスライドです。 https://algyan.connpass.com/event/60886/
Snapdragon-SCORER
Snapdragon-SCORER
Satoshi Toriumi
http://www.impressbm.co.jp/event/dcc2013summer/ ビッグデータが注目を集めているが、以前から相当量のデータを扱う分野がある。それは天文学である。 科学的成果の発見のため、国立天文台は大量の天文データを高速に処理するためのさまざまな研究開発を行っている。そうした取り組みの1つに、急速に処理性能が向上しているPCサーバー、ストレージデバイス、ネットワークデバイスを徹底的に活用し、廉価に100Gbpsを超える通信を処理するシステムの研究開発がある。 この研究開発では、天文学の発展はもとより、その汎用性を生かして、高性能で廉価なプライベートクラウドの構築と運用への応用も進めている。 本講演では、本開発に携わる国立天文台・天文データセンターの大江将史氏を交え、こうした分野のトレンドや課題、解決のポイントなどを対談形式で議論する。
データセンターカンファレンス基調対談_ネットワーク帯域を使いまくる
データセンターカンファレンス基調対談_ネットワーク帯域を使いまくる
Masafumi Oe
https://zozotech-inc.connpass.com/event/183818/
zozotown real time linkage infrastructure
zozotown real time linkage infrastructure
KeisukeTaniguchi2
AWSとGPUインスタンス、そしてDeep Learningの関係について。
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
Yasuhiro Matsuo
全てのエンジニアの方に知ってもらいたいIT最適化のための知識と、それをAzureで実現するための情報です
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
Daiyu Hatakeyama
フィックスターズによる FPGA オンラインセミナー(第一回)の掲載用資料
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
Fixstars Corporation
2023年2月25日の.NETラボ勉強会のセッション「Windows 11とNPUで実現するWindowsのAI」のスライドです。
Windows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAI
Tomokazu Kizawa
Web制作者として最低限しておきたいセキュリティーについて
最低限知っておきたい Webセキュリティーについて@MT関西
最低限知っておきたい Webセキュリティーについて@MT関西
Masayuki Abe
Similar to C++ in Embedded Systems
(20)
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
ロボコン勉強会向けStm32を用いてマスタースレーブシステム
pg_bigmを用いた全文検索のしくみ(前編)
pg_bigmを用いた全文検索のしくみ(前編)
OSS奨励賞受賞プレゼン 活動紹介
OSS奨励賞受賞プレゼン 活動紹介
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
NGS解析を始めた時にぶつかりがちな小さい壁あれこれ
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
【関東GPGPU勉強会#4】GTX 1080でComputer Visionアルゴリズムを色々動かしてみる
S3 を単純ストレージとして 利用する手段の比較
S3 を単純ストレージとして 利用する手段の比較
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
JAWSUG名古屋 AWS勉強会 20180309
JAWSUG名古屋 AWS勉強会 20180309
異種クラスタを跨がる仮想マシンマイグレーション機構
異種クラスタを跨がる仮想マシンマイグレーション機構
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
Snapdragon-SCORER
Snapdragon-SCORER
データセンターカンファレンス基調対談_ネットワーク帯域を使いまくる
データセンターカンファレンス基調対談_ネットワーク帯域を使いまくる
zozotown real time linkage infrastructure
zozotown real time linkage infrastructure
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
Windows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAI
最低限知っておきたい Webセキュリティーについて@MT関西
最低限知っておきたい Webセキュリティーについて@MT関西
Recently uploaded
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
下記の会の感想 https://kichijojipm.connpass.com/event/315276/presentation/
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
スタートアップCTO経験から キャリアについて再考する DIGGLE 株式会社 取締役CTO 水上駿 こちらのイベントでの登壇資料です。 https://rosca.connpass.com/event/319175/
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
mizukami4
ビジュアルプログラミングIoTLT17資料です。
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
人的資本経営[1]を実現するには,生産性とQoW(Quality of Work,働き方の質)を同時に改善し続けていくことが有効である.そのための課題は多岐に渡るため,DX(Digital Transformation)的発想が求められる。一方、情報の約60~80%が位置情報に関連していることが報告されている.本稿では,地理空間情報と他の情報とを連携させて課題解決を支援する地理空間インテリジェンス(GSI)でDXを促進し,製造現場やサービス現場で人的資本経営を支援することに資する筆者らの一連の取り組みについて紹介する.
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
Kurata Takeshi
Solana Developer Hub Online #6 https://lu.ma/evx8jtpi
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
Recently uploaded
(8)
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
【登壇資料】スタートアップCTO経験からキャリアについて再考する CTO・VPoEに聞く by DIGGLE CTO 水上
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
C++ in Embedded Systems
1.
組込システムにおける C++の利用 2010-10-23
@kikairoya
2.
発表者について 名前:
@kikairoya / id:kikairoya 業種: 精密機械設計・電子回路設計 勤務地: 宮崎県都城市 実年齢: 満22歳
3.
宮崎県こんなところです 出典:Google Map
4.
宮崎県こんなところです 宮崎-大阪間
直線距離:約500km 陸路:約900km 人間より鶏が多い 住宅街で養豚 複線の鉄道が無い 東九州道早く作れ
5.
今日話すこと 「組込」ってどんな環境?
組込でもC++使えるの? 組込用にチューニングされたライブラリ ntfmtの紹介 まとめ ※Boost成分はほとんどありません
6.
組込ってどんな環境? 定義は人によってマチマチ
乱暴に表現すると、 「セルフ開発が出来ない環境」 「組込はリソース制限が厳しい」は 必ずしも真ではない – 一昔前のPCより今のTVレコーダのほうが 性能がいい
7.
組込システムの例 リモコン
8.
組込システムの例 リモコン
炊飯器
9.
組込システムの例 リモコン
炊飯器 自動販売機
10.
組込システムの例 リモコン
炊飯器 自動販売機 自動車
11.
組込システムの例 どれも機器上でコンパイラを動かさない
– Linux載せれば動かせるだろうけれど普通しない 基本的にエンドユーザは 自分でプログラムを追加しない – 携帯電話・家庭用ゲーム機は例外 使用できるリソースはモノによってピンキリ – クロック:数kHz - 数GHz – RAM:数バイト- 数ギガバイト
12.
組込でもC++使えるの? GCCとnewlibが移植されていれば、
C++のほぼフルセットが使えます。 TemplateベースのSTLコンテナも使えます。 ROMさえ足りれば、例外もRTTIも使えます。 スレッド周りは結構怪しいです。
13.
組込でもC++使えるの? 一部のベンダはEDGをベースにした
C++コンパイラを提供しています。 一部のベンダはEC++をベースにした C++ライブラリを提供しています。 PICはC++コンパイラがありません。 AVRやR8Cなどを使いましょう。
14.
組込でもC++使えるの? C++だからと言って、例外やらRTTIやらを
使う必要はありません。 Templateやデストラクタはノーコストで 使えるので、大いに活用しましょう。 C++0xの言語機能は普通に使えます。 – auto/Lambda/Variadic Templates/ rvalue-reference/deleted functions
15.
組込でもC++使えるの? 多くのBoostライブラリは問題なく使えます。
– Array/Foreach/Optional/Operators/Unitsなど。 一部のBoostライブラリは例外が必要です。 – Smart-Pointers/Function/Variantなど。 RTTIが必要なBoostライブラリもあります。 – Any/Asioなど。 Functionが例外を要求するとかwtf
16.
組込向けにチューニングされた ライブラリ
「組込向けの要件」 – 省メモリ(特にRAM) – Genericな実装 • ターゲットごとにintの表現が違う サイズ、バイトオーダ、ビットオーダ、アライン – 例外フリーな実装 • 基本的にマルチスレッド(のようなもの)で動くため、 飛んでも取れないことがある • そもそも例外機構がROMに収まらないことも
17.
組込向けにチューニングされた ライブラリ
newlib – コンパクト(自称)なlibc – C99フル実装なので必要以上にでかい – たまにsizeof(int)==4を仮定している場所がある – 再入安全には非常に気を使っている libstdc++ – GNUのC++ライブラリ – 例外を使わなければゼロオーバーヘッド
18.
ntfmt (New Type-safe
formatter) 組込環境ではsnprintfが(サイズの関係で) 使えないことがある – newlibの場合、数十キロバイト必要 iostreamはもっと使いにくい – 仮想継承やRTTI、例外機構で数百KiB必要 →組込でも使いやすい、 新しいformatterを作ってみた
19.
ntfmt (New Type-safe
formatter) 基本コンセプト – 例外を飛ばさない – 型安全・拡張可能 – 浮動小数点処理を切り離せる hhhhttttttttpppp::::////////ggggiiiitttthhhhuuuubbbb....ccccoooommmm////kkkkiiiikkkkaaaaiiiirrrrooooyyyyaaaa////nnnnttttffffmmmmtttt 名称募集中です
20.
ntfmt (New Type-safe
formatter) 文字列中にフォーマット指定を埋め込まない – C++はコンパイル時に文字列を扱えないため – 指定と引数が違う時に例外を飛ばしたくない 動的メモリ確保をしない – RAMの使用量は予測可能にしておきたい テンプレートベースの実装 – ユーザ定義型も出力できるように
21.
ntfmt (New Type-safe
formatter) 基本的な使い方 //////// ssssttttaaaannnnddddaaaarrrrdddd ffffoooorrrrmmmm:::: ssssiiiinnnnkkkk____ssssttttddddoooouuuutttt(((()))) -3333888833339999 ‘¥n’; ssssiiiinnnnkkkk____ssssttttddddoooouuuutttt(((()))) ffffmmmmtttt((((888855553333....888844442222222222223333,,,,“%%%%3333....5555eeee”)))) ‘¥nnnn'''';;;; //////// CCCC++++++++0000xxxx-mmmmooooddddeeee ffffoooorrrrmmmm:::: ssssiiiinnnnkkkk____ssssttttddddoooouuuutttt(((())))....ffffoooorrrrmmmmaaaatttt( ffffmmmmtttt((((-0000xxxx11112222ffff,,,, “%%%%++++####11110000....5555xxxx”)))),,,, ‘¥n’ ))));;;;
22.
ntfmt (New Type-safe
formatter) いろんな出力先 cccchhhhaaaarrrr bbbbuuuuffff[[[[111100000000]]]];;;; ssssiiiinnnnkkkk____ssssttttrrrrbbbbuuuuffff((((bbbbuuuuffff)))) “ttttoooo cccchhhhaaaarrrr-aaaarrrrrrrraaaayyyy”; ssssiiiinnnnkkkk____ssssttttrrrrbbbbuuuuffff((((bbbbuuuuffff[[[[0000]]]],,,, 111100000000)))) “ttttoooo cccchhhhaaaarrrr ****”; ssssttttrrrriiiinnnngggg ssss;;;; ssssiiiinnnnkkkk____ssssttttrrrriiiinnnngggg((((ssss)))) “ttttoooo ssssttttdddd::::::::ssssttttrrrriiiinnnngggg”; ssssttttrrrriiiinnnnggggssssttttrrrreeeeaaaammmm ssssssss; ssssiiiinnnnkkkk____ssssttttrrrreeeeaaaammmm((((ssssssss)))) “ttttoooo ssssttttdddd::::::::oooossssttttrrrreeeeaaaammmm”;
23.
ntfmt (New Type-safe
formatter) ユーザ定義型 nnnnaaaammmmeeeessssppppaaaacccceeee nnnnttttffffmmmmtttt { tttteeeemmmmppppllllaaaatttteeee ccccllllaaaassssssss FFFFnnnn,,,, ccccllllaaaassssssss TTTT,,,, ccccllllaaaassssssss UUUU vvvvooooiiiidddd nnnnttttffffmmmmtttt____pppprrrriiiinnnntttteeeerrrr( FFFFnnnn ffffnnnn,,,, ppppaaaaiiiirrrrTTTT,,,, UUUU ccccoooonnnnsssstttt vvvvaaaalllluuuueeee,,,, ffffllllaaaaggggssss____tttt ffffllllaaaaggggssss )))) {{{{ ffffmmmmtttt((((vvvvaaaalllluuuueeee....ffffiiiirrrrsssstttt,,,, ffffllllaaaaggggssss))))....pppprrrriiiinnnntttt((((ffffnnnn))));;;; ffffnnnn((((‘,’))));;;; ffffmmmmtttt((((vvvvaaaalllluuuueeee....sssseeeeccccoooonnnndddd,,,, ffffllllaaaaggggssss))))....pppprrrriiiinnnntttt((((ffffnnnn))));;;; } }i iiinnnntttt mmmmaaaaiiiinnnn(((()))) {{{{ ssssiiiinnnnkkkk____ssssttttddddoooouuuutttt(((()))) mmmmaaaakkkkeeee____ppppaaaaiiiirrrr((((11110000,,,, 22220000))));;;; }}}}
24.
ntfmt (New Type-safe
formatter) コードサイズ比較 – printf(3)自体のサイズを比較(I/Oルーチンを除く) iiiinnnntttt mmmmaaaaiiiinnnn(((()))) {{{{ cccchhhhaaaarrrr bbbbuuuuffff[[[[11110000]]]];;;; ####iiiiffff NNNNTTTTFFFFMMMMTTTT ssssiiiinnnnkkkk____ssssttttrrrrbbbbuuuuffff((((bbbbuuuuffff)))) 3333222244447777....555555554444;;;; ####eeeellllsssseeee ssssnnnnpppprrrriiiinnnnttttffff((((bbbbuuuuffff,,,, 11110000,,,,“%%%%ffff”,,,, 3333222244447777....555555554444))));;;; #eeeennnnddddiiiiffff ppppuuuuttttssss((((bbbbuuuuffff))));;;; }
25.
ntfmt (New Type-safe
formatter) コードサイズ比較 – sh-elf-gcc-4.5.1 -m2 -Os -fno-exceptions -fno-rtti -ffunction-sections -Wl,--gc-sections NTFMT: text:18600 data:2144 bss:112 STDIO: text:29296 data:2208 bss:100 → 10696バイト削減
26.
ntfmt (New Type-safe
formatter) コードサイズ比較 – printf(3)と依存ライブラリを比較(I/Oルーチンを含む) iiiinnnntttt mmmmaaaaiiiinnnn(((()))) {{{{ cccchhhhaaaarrrr bbbbuuuuffff[[[[11110000]]]];;;; ####iiiiffff NNNNTTTTFFFFMMMMTTTT ssssiiiinnnnkkkk____ssssttttrrrrbbbbuuuuffff((((bbbbuuuuffff)))) 3333222244447777....555555554444;;;; ####eeeellllsssseeee ssssnnnnpppprrrriiiinnnnttttffff((((bbbbuuuuffff,,,, 11110000,,,,“%%%%ffff”,,,, 3333222244447777....555555554444))));;;; #eeeennnnddddiiiiffff }
27.
ntfmt (New Type-safe
formatter) コードサイズ比較 – sh-elf-gcc-4.5.1 -m2a -Os -fno-exceptions -fno-rtti -ffunction-sections -Wl,--gc-sections NTFMT: text:13824 data:2144 bss:112 STDIO: text:25520 data:2208 bss:100 → 11696バイト削減
28.
ntfmt (New Type-safe
formatter) 例外・動的メモリ確保を使用せずに実装した そこそこ優秀な速度が出ている オブジェクトサイズは非常に小さい ユーザ定義型・ユーザ定義出力先の 定義方法が美しくない かっこいい名前募集中
29.
まとめ 組込環境≒クロスコンパイル縛り
「C++はCよりメモリ食う」は思い込み 標準ライブラリも普通に使えるよ 組込用にチューニングした オレオレライブラリ作ってみたよ 問答無用で例外を要求する (std|boost)::functionマジwtf
30.
おしまい
Download now