2017-08-01から1ヶ月間の記事一覧
#include <iostream>using namespace std; class X{public: X(); ~X();}; X::X(){ cout << "X()" << endl;}X::~X(){ cout << "~X()" << endl;} int main(){ X* pX = new X(); //pX->~X(); delete pX; return 0;} kzono@rachael:$ g++ -Wall callDestructor.cpp -fsanit</iostream>…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
時刻を秒単位で記録できればよいのであれば、time_t で十分見たい。 system_clock - cpprefjp C++日本語リファレンス 今回は通信用または記録用に時刻をシリアライズしたいわけなので、結局は time_t に変換することになりそう。 time_t は long に typedef …
各種のセンサーから取得した値をサーバへ送る場合、シリアライズする必要がある。MessagePack が良さげ。圧縮率、対応言語の多さ、IDL不要など。 google さんの protocol buffers はIDLが必要。 で。センサーの計測データなので、計測日時が必要。C**の場合…
デバイスの制御はラズパイよりmbed, esp32 のほうが適している。タイマーやADコンバータなどのペリフェラルが違う。 ラズパイに 向いているのは、タッチパネル、動画のストリーミングなど。 、
ソケット通信でデータを送受信するとき、ネットワークバイトオーダや構造体のパディングなどを考慮して、通信用バイト列に変換する必要がある。 自分でゴリゴリ作るより、便利そうなライブラリを探し、使うことにする。 Google Protocol Buffers MessagePack…
C言語のソケット通信プログラムの続き。固定長文字列の送受信まで昨日成功していたので、shot int(16bit) や int(32bit) ,long(64bit) など、ネットワークバイトオーダが問題となるデータを送受信するサンプルを今日動かした。 が。簡単だと思ってやってみる…
動いたサンプルをベースに、言語をまたいでクライアント/サーバのソケット通信をするため、通信仕様を揃えるべく、修正。 昨日、C言語の修正がうまく行かなかったのは、送受信のときにデータ長を固定で送受信しなかったこと。可変長でテストしてしまった。 …
漸くC言語でクライアント・サーバなソケット通信プログラムのサンプルが動いた。 ネット上のサンプルと、微妙にヘッダファイルの名前やパスが違っていて手こずった。 これで、C/C++/python の3言語で、それぞれクライアントとサーバのサンプルが動いたこと…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
サーバ・クライアント間のソケット通信サンプルプログラムの動作確認などに便利なコマンドを発見。 nc(netcat)コマンドで覚えておきたい使い方8個 | 俺的備忘録 〜なんかいろいろ〜 ネットワーク診断の現場から(netcat編・その1) | NTTデータ先端技術株式…
比較的簡単なプロジェクト用に Makefile のテンプレートを作った。 ソースファイルとオブジェクトファイルのディレクトリを分けたところが、少し工夫したところ。 とはいえ、昔は階層化 Make まで頑張って対応していたので、あくまで簡易版。 # DirectoriesS…
ubuntu への boost のインストール boost のパッケージがリポジトリにあるかどうか探した。 $ sudo apt-cache search boost たくさん見つかった。おそらく最新版ではなく結構古いバージョンだと思われるが、標準でサポートされているのが安心。自分でビルド…
ESP32の特長は、WiFiとBluetooth を安価(チップは800円、ボードで1600円)で使えること。しかも、ROM/RAMはArduino(AVRMega386)より多いこと。 マイコンとしてのペリフェラルも充実している。ペリフェラルのサンプルコードも公開されているので後で…
Windows10上の MinGW+MSYS や Cygwin だと、微妙にエラーが出てしまった。 VirtualBox 上の Ubuntu で環境構築を試みたところ、サンプルプロジェクトのビルドまではできるのだが、USBケーブルによるダウンロードができなかった。USBシリアル変換チップを使い…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
Arduino のシリアル通信のスケッチがそのまま動いた。(^^) esp32用ライブラリがシリアル通信をサポートしているということ。 GPIO:LEDとスイッチ ADC:可変抵抗器(ボリューム)、各種センサ(加速度) Timer(PWM):LED調光、スピーカ、DCモータ、サーボモ…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
しばらく前に買って放置していたESPDevkitC をいよいよ触り始めることにする。
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…