読者です 読者をやめる 読者になる 読者になる

Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

C++ 学習記(1): まずは環境確認整備

業務の都合でいままで書いたことのないC++を使わざるを得なくなった。

業務のほうは既存のC++コードを書き換える方向なので、まあなんとかなるだろうと思っているんだけど、スクラッチから起こすことができないので

makeの書き方も-Iや-Lオプションの意味もautomakeも何もわかっていない。

 

ということでやばいだろうということでよちよち勉強していくことにする。

 

やらないといけないであろうこと

MakeFileの読み方書き方、automake, cmake

コンパイルオプション

ldconfig, LD_LIBRARY_PATHの意味と設定方法を理解する

OpenMP / MPIによる並列化

 

参考文献

完全にC++は未知だけどもJavaなら結構経験積んでいたので、私の知り合いの中で最もプログラミングに長けた大先輩におすすめしていただいた

を買いました。とりあえず、わからないことがあったらこれにあたってみると、1つくらいは例が載っているのでだいたい乗り切れています。*1

 

設定

プログラム経験: Java(メイン、10年以上), Python(ここ2年ほどメインで使ってる)

OS: ubuntu14.04 on VMware

エディタ: emacs

IDE: JetBrains IntteliJ IDEAとPycharmがないとJavaPythonもかけない

IDE絶対ほしいけど、JetBrainsのC++って有償なんだよね、確か・・・

現在の状況

何が入っているか確認するのもあってapt-get installでそれっぽいライブラリを指定してみる。

 

f:id:Dr_KayAi:20160811231224p:plain

ちょっと探すと

bokko.hatenablog.com

 

という記事が見つかったので、載っているやつはインストールしておく。

 

Hello, world

まずはhello world

(hello.cpp.cpp)

#include <iostream>
#include <cstdlib>

int main(){
std::cout << "hello world" << std::endl;
return 0;
}

 

コンパイルして実行。

% g++ hello_cpp.cpp

% ./a.out

Hello world.  

*1:const参照とか&, *の使い方とか私にとっては完全に悪夢なので、毎回見ています