Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 2019/2/10追記 記事を書いてから気づいたのですが、正確には、Rustのアトリビュートをいくつか設定すれば、MISRA-Cのルールを90%満足できるでした。 私はMISRA-Cのコーディング規約でプログラミングしたことがないため、内容に誤りがありかもしれません。間違っている点があれば、ご指摘いただけるとありがたいです。 後、いつも通りですが、C言語を貶める意図は一切ありません。 昨日からtwitterで、Rustが組込みのセキュリティが重要な分野で広まると良いなぁ、という議論がありました。 その中で、車載では、やはりMISRA基準との関係が明確になること、ということが1つの基準になりそうでした。 github.com @hashaskell さんから、MISRAコーディングルールのうち、Rustコンパイラがアトリビュートの設定を含めて、保証するルールのリストを作成しているレ
Cython ―Cとの融合によるPythonの高速化 作者:Kurt W. SmithオライリージャパンAmazon 目次 目次 はじめに Cythonとは PythonとC言語を組み合わせるメリット 参考記事 ステップ1: C言語のコードを書く ステップ2: C言語のコードをラッピングするCythonコードを書く ステップ3: Cythonコードをビルドするsetup.pyを書く ステップ4: コンパイル・ビルドする ビルドする際のハマりポイント ステップ5: ユニットテストのPythonコードを書く 今後の課題 はじめに 自分は普段の仕事でC言語のプログラムを実装するのがメインです。しかしながら、今の職場にて自分が実装したC言語のソフトをデバッグするためには、実際のコントローラに書き込んでからベンチシミュレータで動かす、くらいしか方法がありません。 いちいちコントローラに書き込んだりす
はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム この本には一冊の本に盛り込むにはやや欲張りな内容を詰め込みました。本書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 この本では、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを本書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう
最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ
Armadillo上で動作する、シリアル通信をおこなうLinuxアプリケーションをC言語で作成する場合を考えます。 1. Linux一般でのシリアルプログラミングについて Linuxでは、シリアルインターフェースは一般に/dev/ttyS*というデバイスファイルとして扱われます。(*は任意の文字列を表します。/dev/ttyS*という表記は、例えば/dev/ttyS0、/dev/ttyS10を意味します。) Linuxでシリアル通信をおこなうプログラムを書くには、概念的には以下のような手順になります。 #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <termios.h> #include <unistd.h> #define SERIAL_POR
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く