C++– category –
-
C++
Rust – Cargo で C++ ソースコードをまとめてビルドする
Rust 公式の cc-rs クレートを利用することで、C++ のソースコードもひっくるめて cargo ビルドすることができます。 簡単なサンプルで利用方法を紹介します。 C++ を含めた Cargo ビルド方法 プロジェクトの作成 まず、cargo new で新規プロジェクトを作... -
C++
C++ | vector の初期化パターン
C++ での vector を初期化するパターンをいくつか紹介します。 任意の初期値で初期化 固定値で初期化 連番で初期化 乱数で初期化 任意の初期値で初期化 初期化子リストを指定します。 #include <vector> int main() { std::vector<int> v{0, 1... -
C++
C++ – vector の標準出力方法
C++ vector クラスの標準出力方法メモです。いくつか手法があります。 std::vector の標準出力方法 for 文で要素を順に出力する 最もストレートな方法です。可読性も高いので、他の方法に慣れなければ、これで出力しておけば間違いないです。 #include <... -
C++
C++ – Rust の関数を静的リンクで呼び出す
C++ から Rust の関数を呼び出す方法のメモです。gcc を利用して、静的リンクで呼び出すケースについてまとめます。 rustc でライブラリを生成する cargo ではなく rustc でライブラリを生成する方法です。 Rust - 静的リンクライブラリの生成 Rust にて、... -
C++
C++ – 呼び出し元のファイル名と行番号を取得する
C++ にてデバッグを出力したいときは、対象コードのファイル名と行番号を出力すると便利です。そのやり方をまとめます。 define マクロで __FILE__, __LINE__ を出力する std::source_location で関数呼び出し元の情報を取得する(C++20 以降) define マ... -
C++
Python – swig で C++ メソッドを呼び出す
Python から C++ のメソッドを呼び出すためには、いくつかの手段があります。本記事では swig を利用して C++ メソッドを呼び出す手法を紹介します。 swig とは、C++ のヘッダファイルを解析して、これに基づいてラッパーとなるコードを自動生成するための... -
C++
Python – ctypes で C++ メソッドを呼び出す
Python から C++ のメソッドを呼び出すためには、いろいろな手段があります。ctypes, CFFI, SWIG, boost.python, WASM とありますが、今回は python の標準ライブラリ ctypes を利用する例を紹介します。 動作環境 Windows 11 WSL - Ubuntu 22.04 g++ 11.3...