CAD日記

AutoCAD,DXF,DWG,SXFなどCADのことから、仮想通貨や投資関係、PC関係、プログラミング、国内海外旅行情報など何でもござれ。@caddiary

ソフト開発

若いもんにC++を教えてやって、これまでやってきたことが少しでも伝わってくれればと願う夜

投稿日:

ファイルをセレクトするというC++で作ったActiveXのDLLのデバッグができないかと彼がおいらのところに来た時点で、そいつはなかなかチカラがあるなと感じた。だって、いまどきの若い人間がアンマネージドの代表格であるC++のプログラムに興味を示してくるんだから。実際のところは、好きでそこに関与したわけではなく仕事の一つとしてやむを得ず話に来たのだろうが、まぁそれはいい。

10年くらい前までならば、C++を使える人間が重宝されていた。ごく最近C#に取り組んでみてわかったけれども、C++のめちゃくちゃメンドウな処理はクソであり、そんな高いハードルがあったら誰も寄り付かないってもの。アンマネージドだからこその高速処理および陳腐なマシンスペックでの動作というメリットはある。ポインターという言語仕様の難解さは、若くてこれからプログラムを学ぼうという人間を近づけない。入社してから20年くらいそんなC++だけをやってきた。

そのファイルをセレクトするというActiveXだって、今じゃー誰も手が出せなくなっている。いい意味で枯れたプログラムだから、新たに手を入れることもなくバグもなくひっそりと消えようとしている。だって、ActiveXはIEのアドオンを作るための技術だからね。Chrome全盛で、マイクロソフトだってIEを捨ててEdgeなる新しいものを出してきて、MacだったらSafariだし、FireFoxだってそこそこのユーザー数がいる状況。

彼に教えたことはActiveXのデバッグ方法。秘蔵であり骨董品となりつつあるWindows 7+VisulaStudio 2008の環境を貸してやり、デバッグの手順を伝えた。IEを起動してテスト用サイトを開いといて、VSからプロセスにアタッチで、一覧のなかの一番上のiexplorerを指定。ブレークポイントを仕掛けて、IEからアクションを起こすとブレークポイントで止まるって感じ。自分でやるのも2年振りくらいだったから、思い出すのに1時間かかってしまった。一番上のexplorerというところがミソで、最初は二番目のx64名前が付いたものを指定してしまってハマった。この手の情報はググっても出てこない。需要がなければ供給されないのは当然。

老兵はこうやって消えていくんだな。消える前にこうやって少しでも今の人間に伝えられることがあってよかった。CADもそうだな。あとを引き継ぐ人間はいないので、おいらが最後の代となるだろう。そんな損な役回りを甘んじて受け入れるつもりはないんで、次の動きを急ぐ必要がある。責任取って、早々と退場するべし。責任も権限もないけどね。

彼は結果を出した。不幸中の幸いだったのはActiveXのDLLにバグがあったわけでもなく、デバッグしたことによりDLLの仕様を把握することができて、問い合わせ元へのあと腐れない回答ができて、一つの仕事としてまっとうしていたのを見届けた。仕様書じゃわからんことをデバッグによって把握したわけだ。がんばれ若者!

-ソフト開発

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

VC2015のプロジェクトを久しぶりにビルドしたらエラーになったけど。。

エラーはこんな感じ。

PDFiumでPDFを描画してみたけど、こんなに簡単にできちゃっていいのかよ!

PDFiumで画像化とテキスト抽出が容易にできることは前回まででわかっていたので、今回は描画に取り組んでみた。

no image

クラッカー

知人が被害を受けました。以下、知人の経験談です。 便利なソフトを作って一儲けしたい! シェアウェアとして公開して、誰でもダウンロードできるようにすることを考えました。まずは使ってもらわないと、その良さ …

no image

ソフト不正使用対策

ソフトウェア会社にとって、ソフトの不正使用は深刻な問題です。身近な問題として、現状と今後を考えてみたいと思います。  CADの業界では古くからこの問題に取り組んでいます。CADは比較的高価な価格で販売 …

no image

テキストファイルの最大行数

【2018/12/24追記】以下の記事も参考になるかな。 扱えるテキストファイルの最大行数は1億行 バカでかいテキストファイルを作る必要があって、結果約2GBにもなった。 CADから出力するんだけど、 …