VB98 VC98 を使ってみる2
遠く何かあるのか見つめて自分の世界に入り込んでいる柴犬です。
概要
「ストラウストラップのプログラミング入門」のハンズオンは、しばらくの間、VisualStudioCode でいいと思われますが、読み進めてグラフィック関係に入ってきた時のことを考えて VC++ でもできるか試してみます。
プログラミングの10年の差は大きいようで、コピペのみではエラーになりました。
修正はまた勉強になりますので、我慢して続けることにします。
翔泳社 Bjarne Stroustrup (著) 遠藤 美代子 (翻)
2024年6月6日現在
VC++ で実行
「ストラウストラップのプログラミング入門」を進めて行くと、グラフィックが出てきますのでVC++での必要なってくるのではと思いますので、VC++でやってみました。
プロジェクト text2 を作り、そのプロジェクトを選択して新規で空のヘッダーファイル(std_lib_facilities.h)とソースファイル(test2.cpp)を作りました。
そのファイルに、コードをコピペしました。
ビルドをしてみました。
残念ながらエラーとなりました。
std_lib_facilities.h の見直し
エラーの原因は std_lib_facilities.h にありますので、少しづつそぎ落としてみました。次のコードの状態まで削りました。
例えば「#include <forward_list>」がどうしてできないのかは今後少しずつ調べるようにします。
/* std_lib_facilities.h */ /* simple "Programming: Principles and Practice using C++ (second edition)" course header to be used for the first few weeks. It provides the most common standard headers (in the global namespace) and minimal exception/error support. Students: please don't try to understand the details of headers just yet. All will be explained. This header is primarily used so that you don't have to understand every concept all at once. By Chapter 10, you don't need this file and after Chapter 21, you'll understand it Revised April 25, 2010: simple_error() added Revised November 25 2013: remove support for pre-C++11 compilers, use C++11: <chrono> Revised November 28 2013: add a few container algorithms Revised June 8 2014: added #ifndef to workaround Microsoft C++11 weakness Revised Febrary 2 2015: randint() can now be seeded (see exercise 5.13). Revised August 3, 2020: a cleanup removing support for ancient compilers */ #ifndef H112 #define H112 080315L #include<iostream> #include<iomanip> #include<fstream> #include<sstream> #include<cmath> #include<cstdlib> #include<string> #include<list> //#include <forward_list> #include<vector> //#include<unordered_map> #include<algorithm> //#include <array> //#include <regex> //#include<random> //#include<stdexcept> //------------------------------------------------------------------------------ typedef long Unicode; //------------------------------------------------------------------------------ using namespace std; inline void keep_window_open() { cin.clear(); cout << "Please enter a character to exit\n"; char ch; cin >> ch; return; } #endif //H112
今度は、エラーもなく実行ファイルが作成できました。
できた実行ファイルを見てみます。VisualStudioCode で作成したファイルよりかなり大きいです。
実行してみても外見の違いはありません。
ここまでとします。