投稿

ラベル(C)が付いた投稿を表示しています

Google Test 1.7.0

CentOS 6.5 で Google Test 1.7.0 を使えるようにします。 といってもそれほど難しくありません。 https://code.google.com/p/googletest/ にアクセスし Downloads  を開きます。 gtest-1.7.0.zip  をクリックしてダウンロードします。 指定のフォルダーへ展開します。展開先の親フォルダーとなるところを指定するとその下に gtest-1.7.0 というフォルダーが作成されます。以下はホームフォルダーに展開する例。 $ unzip gtest-1.7.0.zip -d ~ 展開後はこんな感じ $ cd ~/gtest-1.7.0/ $ ls CHANGES         CONTRIBUTORS  Makefile.am  README      build-aux  codegear   configure.ac  include  make  samples  src   xcode CMakeLists.txt  LICENSE       Makefile.in  aclocal.m4  cmake      configure  fused-src     m4       msvc  scripts  test README ファイルに従って libgtest.a を作成します。 $ gcc -isystem ~/gtest-1.7.0/include -I ~/gtest-1.7.0 -pthread -c ~/gtest-1.7.0/src/gtest-all.cc $ ar -rv libgtest.a gtest-all.o Google Test は C++ 用のテストフレームワークですが、extern "C" を使うことと C と C++ の違いを意...

バイナリーファイルを C 言語の配列で出力

仕事柄、バイナリーデーターをそのまま C 言語の配列に変換してプログラムに組み込むことがあるのですが、これまでは自作のプログラムでやってました。 Linux 環境には od とか hexdump とか hd とかあるのでそれでできないか考えていましたが、 xxd というコマンドがあってそれを使うと簡単に C 言語の配列に変換してくれます。 xxd -i ファイル名 ためしに .bashrc を 変換してみました。 $ xxd -i .bashrc unsigned char _bashrc[] = { 0x23, 0x20, 0x2e, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x0a, 0x0a, 0x23, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x69, 0x66, 0x20, 0x5b, 0x20, 0x2d, 0x66, 0x20, 0x2f, 0x65, 0x74, 0x63, 0x2f, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x20, 0x5d, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x09, 0x2e, 0x20, 0x2f, 0x65, 0x74, 0x63, 0x2f, 0x62, 0x61, 0x73, 0x68, 0x72, 0x63, 0x0a, 0x66, 0x69, 0x0a, 0x0a, 0x23, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x...