2014年5月12日月曜日

C++でHello World

C++で最初の表示

以下のコードを入力

#include <iostream>

int main() {
  
  std::cout << "Hello World!" << std::endl;

}


書けたらファイル名を hello.cpp として保存
g++でコンパイルします。


$ g++ -o hello hello.cpp

コンパイルが無事通り、以下の表示がされたら成功です。

Hello World!

◆ 解説

最初の一行
#Include <iostream>
はディレクティブと呼ばれるもので「#ディレクティブ名」で定義します。
includeディテクティブはヘッダを読み込むものでここでは標準出力のヘッダ「iostream」を読み込んでいます
これを一番初めに書くことによって標準出力の機能を使うことが出来るのですね。





2014年5月7日水曜日

CでHello World

CでHello World

CでHello World
もっとも有名なイントロなので説明するまでもないですね。

#include <stdio.h>

int main(void) {
  
  printf("Hello World!");

  return 0;
}

2014年5月4日日曜日

CentOS 6でC/C++開発環境を整える

近年、パソコンの需要が急速に減退し、一気にスマートフォンに置き換わってきました。
ネット閲覧もパソコンからスマートフォンに主役が移ってきています。

そこでWeb周りの技術だけでなくネイティブアプリやデバイスの深い部分まで動かすにはC/C++の知識はどうしても必要になってきます。

ということでC/C++の入門から覚書まで適当に書いていきます。

使用環境:
CentOS 6.6 (Linux)

コンパイラのインストール

まず、ターミナルを開きC/C++が使える環境かどうか確認します。
$ which gcc
/usr/bin/gcc

$ which g++
/usr/bin/g++
と出ればコンパイル可能です。
無い人はyumでg++をインストールしてください
# yum install gcc gcc-c++
インストールできたら確認
$ g++ --version

g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
CentOSの標準リポジトリのものは少々古いものです。
最新のC++11に対応したい場合はgcc 4.7以上にしないといけません。

CentOSは実用を重視しているので標準で提供されているソフトウェアは安定はしていますが少々古いバージョンのものしか提供されていません。最新とは言いませんが、せめて今のトレンドが追えるバージョンをインストール出来ないかと思うユーザーも多いかと思います。

そういった要望に答えるべく開発元のRedHatはSoftware CollectionsとDeveloper Toolsetというソリューションを提供してくれました。
Software Collectionsでは開発者の要望の高かったPHPやMySQLなど比較的新しいバージョンを提供してくれます。Developer ToolsetはC、C++等開発者向けのツールが提供されています。
また/opt以下にインストールされ、新しいバージョンと古いバージョンを使い分けることが出来ます。

Developer Toolset2.0ではGCC4.8を提供してくれているのでそれを使いましょう。

# cd  /etc/yum.repos.d/
# wget http://people.centos.org/tru/devtools-2/devtools-2.repo
# yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ devtoolset-2-gcc-gfortran

これでインストール完了。
新しいバージョンのGCCを使うには次のコマンドで変更します。

$ scl enable devtoolset-2 bash
$ g++ --version
g++ (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.

これでCentOSでもC++11の開発が可能になります。

エディターのインストール

エディタは使い勝手のよくメジャーなEmacsを使用します。

$ which emacs

で無ければインストールしてください。

# yum -y install emacs

でバージョン確認

$ emacs --version
GNU Emacs 23.1.1
Copyright (C) 2009 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
...........

CentOSでは最新版ではないですが最新版が欲しい場合は
ここのミラーあたりからダウンロードして自分でmakeしてください。

Pythonで地図空間データを扱う⑤

ベースの地図が出来た所で、他のデータを被せてみます。 国土地理院の  500mメッシュ別将来推計人口データ  を使用します。 同じく神奈川県のデータ  500m_mesh_suikei_2018_shape_14.zip をダウンロードします。 ベースの地図データと同じ場所に展開...