プログラミング– category –
-
【pybind11】 C++コードをPythonで呼び出して実行する方法
なぜPythonでC++コードを呼び出したいのか...それは高速化のためです. そもそもPythonの実行速度は非常に遅く,C++と比べて経験的に10倍から100倍程度のパフォーマンスの違いがあります. この記事では,PythonからC++を呼び出して利用するためのライ... -
【C言語/C++】 TCP/IPで送受信を行うプログラム
ソケット通信とは ソケットは通信の出入口のようなものです.TCP/IPなどに代表されるHTTP通信などもソケット通信の一つです.すなわち,ソケットを使用することで異なるマシン間(もしくは同一マシン上)の異なるプロセス間で通信を可能にします. ソケッ... -
C++における命名規則
命名規則やコーディング規約はプログラミングを行うにあたりに重要であることが知られています. C++は歴史が古く,命名規則やコーディング規約の重要性が認識されるよりも前に数多くのコードが作成されてきました.それゆえ,さまざまなコードでさまざま... -
【Python】 データ補完はScipyによる内挿が便利
離散データに対して補完を行いたい場合,なんらかの関数近似を用いることが一般的です. PythonではScipyライブラリ(scipy.interpolate)にいくつかの近似関数が用意されており,それらを使用することで簡単にデータ補完(内挿)を行うことができます. ... -
【Linux】最新のCMakeをインストールする手順
CMakeはaptなどのパッケージ管理システムからインストール可能ですが,最新版はソースからビルドし,インストールする必要があります. ここでは,最新のCMakeをソースからインストールする手順を示します. インストール手順 ここではバージョン3.26.4と... -
【C++】OpenGLなしでVTKをインストールする
VTKライブラリは,かなり大きなプロジェクトです. すべてインストールしても良いですが,膨大な量なためビルドに結構な時間がかかります.また,依存ライブラリが多くOpenGLなどのインストールも要求されます. すべてインストールしても良いですが,膨大... -
【C++】ループの正しい逆順走査
ループ(for文)の逆順走査には rbegin(),rend()のイテレータを使用する方法インデックスをデクリメント する方法が代表的です. イテレータ(rbegin(),rend())を使用している場合,std::distanceなどでインデックスを得ることが出来ます. しかしながら... -
【C++】STLコンテナVectorをソートした場合のメモリアライメントに関して調査した
メモリ配置が連続でない場合,メモリアクセスの不連続が生じてしまいます. algorithmヘッダに含まれるstd::sortを使用した場合,どのような挙動をするのか,少し疑問に感じたため調査しました. 調査内容 まず,次のような動的配列を用意します. std::ve... -
【C++】Boostをソースからインストールする(+軽量インストール方法)
Boostは比較的大きなライブラリ群です。 すべてのライブラリをインストールしても問題ありませんが、必要なライブラリを把握している場合、必要なものだけインストールすることで、ライブラリサイズを削減できます。 この記事では、一般的なBoostのインス...