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