2018-01-01から1年間の記事一覧
BCC では大丈夫だったので、不完全な struct の宣言にも class を使う習慣になってしまっていたのですが、VC ではリンク時にエラーになります。一つ目のモジュール struct Foo { }; Foo* CreateFoo() { return new Foo; } void PrintFoo(const Foo&) { } 二…
文字列の類似度を文字バイグラムの頻度ベクトルのなす角のコサインや、文字バイグラムの重複集合のダイス係数で計算する件について書こうと思っているのですが、なかなか進みませんw
VC141+OWLNext 6.44.2 用の CMakeLists.txt の例です。pdf.cpp と pdf.rc から pdf.exe を生成する場合です。ランタイムライブラリは静的リンクです。 cmake_minimum_required(VERSION 3.11) project(pdf CXX) set(OWL "C:/lib/owl/6.44.2") ### OWLパス set…
Windows 10 標準装備の仮想プリンタ Microsoft Print to PDF ですが、作成されるPDFファイル名をアプリケーションプログラムのコードから指定できないか探していたところ、以下を見つけました。How to programmatically print to PDF file without prompting…
BCC582 (C++Builder 2006) では問題なかった下記のような自前のインサートイテレータがあります。 template <class X> class MyInsertIterator { public: MyInsertIterator(X& x) : x_(&x) {}; MyInsertIterator& operator = (const Foo& v) { x_->Add(v); return *th</class>…
1本の CMakeLists.txt と数本の短いバッチフィルで、2つのコンパイラ bcc582 と vc141 をそれぞれ使って、さらにそれぞれの debug バージョンと release バージョンを一気にビルドするためのメモです。今後付け足していく予定です。ディレクトリ構造 . ; ソ…
Windows で、ビルド(特にリンク)とかディスクアクセスが多い処理をさせている最中、他の作業をやろうとしてもディスクアクセスが遅くてイライラすることがありませんか?CPUの優先度を下げるのは start /low や cygwin の nice を使えばできますが、IOの優先…
Windows で GNU Emacs 25.2.1 を使っていますが、cygwin の egrep だと shift-jis の2バイト文字が検索できないので、C++ Builder 付属の grep を使って検索をして、検索結果からジャンプできるようにしてみました。~/.emacs に以下を入れます。 (load "grep…
主に C++ で Windows のソフトウェア開発を行っています。そこで調べたことや気づいたことを書いて行こうと思います。 現在使っているのは Borland C++ Builder 2006、もう12年も前のコンパイラです。フレームワークは OWLNext 6.30.4 で、OWL 2.0 の頃から…