「 C++ 」 一覧

no image

cmakeでのDEBUG/RELEASEモード別・サブディレクトリ別のコンパイルオプションの分け方

2019/04/14   -C++

仕事で使うので備忘録として。 対象となるソースコードツリーは、拙作のcppのプロジェクトのテンプレートで行う shinjikirino/cpp_project_templatehttps://gith …

cmake, googletestを利用したC++開発環境の構築テスト

2019/03/10   -C++, Linux, Ubuntu
 ,

自学用メモ。 業務で使用しているcmakeの勉強がてら、業務に近いソースツリーを作成した。 googletestを用いた単体テストも合わせて書けるような構成になっている。 テンプレートとして、今後のC …

pthread_cancelすると何が行われるのか

2018/12/23   -C, C++, Linux
 ,

仕事でのメモ。 pthread_cancel スレッドをキャンセルしたい、でも穏やかに終了できない。そんなときにpthread_cancel。 もちろん、避けられるときは避けたい。 結局はselect …

C++11で作るTypeList(型情報コンテナ)とfor_each

2018/06/30   -C++
 ,

経緯 仕事で、他人が書いたコードを見ているとき、こんなコードを発見してバツが悪くなった。 int main() { Foo &foo = Foo::GetInstance(); foo.Ini …

C++メタプログラミングでmemcpyを少し安全にする

2018/02/12   -C++
 

背景 筆者はC++11を使用して開発を行っています。 開発していると、危険なlibcの関数をラップしてUtility関数として外に定義したい衝動に駆られます。その最たるものがmemcpyです。 mem …

vimからC++プロジェクトに対してCMakeでビルドツリー生成+コンパイル

2017/11/25   -C++, vim
 ,

筆者はテキストエディタとしてvimを日常的に使用しています。 今回は、C++のソースツリーに対して、vim越しにCMakeコマンドを使用してビルドツリーを作成し、そのビルドツリー上でコンパイルを行うv …

ltraceを用いてstd::vector::push_backの動作を見える化する

2017/10/28   -C++, Docker, Linux
 , ,

仕事で使用したltraceの使い方を、メモがてら残しておきます。 概要 C++標準ライブラリの動作の多くは、ユーザが意識しなくても良いように隠蔽されています。 しかし、(組み込み業界のように)プログラ …

Dockerを使用した簡単なC++実行環境の構築

2017/10/22   -C++, Docker, Linux
 , ,

今回は、C++の機能を調査するための簡単なテスト環境を、Dockerを用いて構築する手順を解説します。 要件 単一のソースファイルをg++を用いてコンパイルできること 上記g++で生成された実行ファイ …

C++のマルチスレッド環境における問題とvalgrindを用いた検出方法

2017/10/14   -C++, Linux
 ,

私は仕事でC++を使用してソフトウェアを実装しています。 今回は、C++マルチスレッドプログラミングで発生する問題点とその検出方法を(自分のメモも兼ねて)記述します。 環境は以下になっております。 O …