hakeの日記

Windows環境でプログラミングの勉強をしています。

C++

VC++ 2010 ExpressへのBoostのインストール

C++

Boostのインストール boostproからBoostPro Binary Installer for Visual C++をダウンロードして適当な場所にインストール。今回のダウンロードファイルはBoostPro 1.44.0、インストール先はD:\boost VC++2010の設定 VC++2010では、ツールメニュー → オプシ…

VS2008EEでC++コンソールアプリ

VisualStudio2008ExpressEditionをレッツノートに入れたのでメモ。 インストール 入手はこちらのWebインストールからvcsetup.exeをダウンロードして実行することでインストール開始。オプションのチェックをすべて外した状態でダウンロード容量は約100MB、ド…

C++コンパイラをいれる - EeePC

C++の勉強用にコンパイル環境を入れてみました。本来ならVisualStudioにすべきなのでしょうが、EeePCには容量的に厳しいのと画面サイズ的に動かない、どうせコンソールでしか使用しないと思ったのでタダで始めるC/C++プログラミング for Windowsを参考にして…

Stream - C++

C++

C++の勉強 クラスFirstを作成して、そのオブジェクトを直接ストリームの演算子">"で操作?できるようにする。 mainの中のis >> test;がひとつだけだと、"Good Morning"のうち"Good"しか取得できないのがわからない。たぶんスペースで区切られるのだろうなぁ…

Makefile

下のスクリプトコンパイル用にMakefileを作ってみる。 他のからコピペしてので.cpp.oのところが解ってないけどhoge.oをhoge.cppから作る規則ということで良いみたい。問題はcleanの方、削除するオブジェクトファイルが無い場合にエラーで終了してしまってタ…

参照を返す関数 - C++

C++

読み出す方はともかく、なんでこれで代入できるのでしょう。 わからん #include <iostream> int a = 0; int& foo() { return a; } int main() { std::cout << a << std::endl; std::cout << foo() << std::endl; foo() = 10; std::cout << a << std::endl; a = 100; st</iostream>…

C++の勉強 その後

毎日、始業前の少しの時間で決定版 はじめてのC++ (ソフトウェアテクノロジー)を読み進めて、やっとクラスが出てくるところまで来ました。ベースが古い本なのですが説明や例題が判りやすいので個人的にはかなり良書だと思います(誤記が多いですけど(^^ゞ) …

C++の勉強

先日購入した決定版 はじめてのC++ (ソフトウェアテクノロジー)を見ながらザウルスで勉強を始めたのですけどgccってバージョンによって仕様が変わってるのでしょうか? 最初の方の例題で #include <iostream.h> int main() { cout << "Hello World" << endl << hex << 10 </iostream.h>…

決定版 はじめてのC++

決定版 はじめてのC++ (ソフトウェアテクノロジー)作者: 塚越一雄出版社/メーカー: 技術評論社発売日: 1999/09/01メディア: 単行本(ソフトカバー)購入: 3人 クリック: 54回この商品を含むブログ (13件) を見る先日のライブラリ作成あたりから、そろそろま…

静的ライブラリのリンク

昨日の疑問点だったlibstdc++をstaticに取り込む方法、判ってみれば簡単なことだった。普通にcppなソースと同等に扱えば良いみたい。 $ gcc -L. -lcalc main.cpp libstdc++.aポイントは.cppや.oよりも後に書くこと。lddの出力は以下 $ ldd a.out libcalc.so.…

静的ライブラリの作成

それならば静的ライブラリも作ってみようということでググってみた。この辺を参考にして $ gcc -fPIC -c calc.cpp calc.oができる(-fPICが無くても使用可能なライブラリはできた) $ ar rv libcalc.a calc.o libcalc.aができる $ gcc main.cpp libcalc.a libs…

共有ライブラリの作成

前々から疑問に思っていたsoなファイルってどうやって作るんだろう?という疑問について調べてみました。ググったところこちらに解りやすい説明があったので実験してみる。環境は先日入れたzgcc42です。

共有ライブラリの作成 その2

次にクラスについても実験。やり方は一緒。 ところが今回はコンパイル時(リンク時?)に undefined reference to `operator new(unsigned)'というようなエラーがいくつか出てしまった、ググったところ回避するには-lstdc++オプションを付ければ良いとのこと…