上へ

C++Builder/Linux サンプルプログラム

本ページの下にあるウェブサイトではC++BuilderあるいはC++/Linuxにおけるプログラミングをとりあげる。C++Builderを使用してコンソールアプリケーションとして標準C++準拠で書かれているプログラムをLinuxでの標準C++プログラムに書き直すことは簡単である。2,3か所のC++Builder特有の部分を標準C++用に修正すればよい。その作業についてはウェブサイト<標準C++用への変更作業>で説明している。


Qt Creator試用OpenCV/Linux試用記

C++プログラミング/LinuxFedora15の日本語版Fedora15のソフトウェア更新のトラブル

g++コマンド/Fedora19関数オブジェクト

長周期乱数生成/Linux簡単なMCMCプログラム例(C++/Linux

時刻取得サンプル・プログラム/Linuxネイピア(Napier)数の計算ピタゴラス数

簡単なプログラム(平方根の計算)簡単なプログラム(2項分布)簡単なプログラム(パスカルの三角形)

テキストファイル入出力簡単なテキストファイル入出力例

平均値と期待値(C++/Linuxシミュレーションプログラム)正規分布の確率計算(C++/Linux

正規分布の確率カイ2乗分布の確率2項分布の信頼区間分散・不偏分散・標準偏差(C++/Linux

1変量統計量の計算(テキストファイル入出力)

2変量統計量の計算(1行に複数のデータがある場合のテキストファイルデータ入力)

バイナリファイル出力とテキストファイル出力のサイズの比較/Linux(Ubuntu10)

カイ2乗検定:分割表の分析

80ビット精度浮動小数点データ型(long doubleキャリーのチェック(carry into/out of the sign bit有効桁数による和の精度のチェック

long double / Linux (Fedora 16)long double 型の指数関数expllong double による2項分布の区間推定

ガウス・ルジャンドル積分公式係数計算

 


 C++によるプログラミングを始めたとき、ファイル拡張子が「.h」であるヘッダー・ファイル(*.h)とファイル拡張子が「.cpp」であるソース・ファイル(*.cpp)の区別が判り難いと思う。ヘッダー・ファイルは#includeによってソース・ファイルに挿入されるが、その位置がソース・ファイルの先頭(頭の部分)であるのでヘッダー・ファイルと呼ばれると説明されている。しかし、機能的にヘッダー・ファイルとソース・ファイルは異なるものである。プログラムは、複数のファイルに分割されているとき、ソース・ファイル単位でコンパイルされ、コンパイルされたソース・ファイルがリンクされて実行可能なファイル(*.exe)が作成される。コンパイルとリンクは、ビルドと呼ばれている。ソース・ファイルのコンパイルによってメモリ上に確保された(定義された)オブジェクトあるいは関数は、同じ名前のものが複数のソース・ファイルのコンパイルによって作成されると、リンク時にエラーとなる。

 ヘッダー・ファイルは、ソース・ファイルに挿入されてコンパイルされる。同じヘッダー・ファイルA.h2つ以上のソース・ファイルに挿入される場合、メモリ上に作成されるオブジェクトあるいは関数がヘッダー・ファイルA.hにおいて定義されていると、その定義された名前のものは挿入されたソース・ファイルにおいてメモリ上に確保されることになり、同じ名前のものが各ソース・ファイルに対応して複数存在することになる。このため、リンク時にエラーとなる。このエラーを避けるためには、ヘッダー・ファイルではメモリ上に確保されるような名前の定義は行わないようにする必要がある。ヘッダー・ファイルにおいては、定義ではない宣言のみとしておくとよい。定義は、ソース・ファイルで行う。


 

上へ