タグ

C++とプログラミングに関するMikan6のブックマーク (2)

  • マルチスレッドを意識しないマルチスレッド・ライブラリ「Intel Concurent Collections」がおもしろい

    「Intel Concurrent Collections for C++」(CnC)とは 実際並列処理はややこしいしおっかないです。大きなキッチンで大勢のコックが包丁とフライパン振り回しているようなもので、ほっとけばしっちゃかめっちゃかになっても不思議じゃない。各人はそれぞれの役割に専念し、他人のふるまいを気にせず勝手に働きながらも全体としては統制のとれた動きを作り出さにゃなりません。mutexで排他制御したりjoinで完了を待ったり、さまざまな道具を駆使して統制のとれた動きを作り出しているのはプログラマであり、そこがいちばん難しく悩ましいところです。 C++,C#あるいはVB,Javaもそうですが、コードは原則的に並べた順に実行されます。 と書けば、まずf()、それが終わればg()、しかるのちh()の順で呼び出されます。たとえこの3つをどの順にやっても(あるいは同時にやっても)構わない

  • ルンバプログラミング 制御プログラム公開 (C++) Chick Lab

    2024-08 « 12345678910111213141516171819202122232425262728293031 » ルンバ制御用のプログラムがそれなりのものに仕上がったので公開します。 Roomba Open Interface の仕様書を読みながら、C++で形にしました。 参考にした仕様書は以下の二点。 ・簡易仕様書 ・詳細な仕様書(こちらを主に使用) ルンバの直進距離や回転角度周りの値がおかしいため、制御プログラムの内部で補正しています。 距離値と角度値がおかしい場合は、 RoombaController.cpp内の定数(DISTANCE_CRRECTION_VALUE、ANGLE_CRRECTION_VALUE)で補正してください。 サンプルプログラムは以下のものになります。 wiimoteのヌンチャクを使ってルンバを動かすプログラムです。 実際に動かした結果はこんな

  • 1